地图中的可拖动标记
Draggable marker in map
我是一个例子,点击一个按钮显示当前位置显示纬度、经度,但我需要在地图上做一点更改
更改:
点击按钮后,可拖动地图上的1个标记以获取新的纬度并显示地址事实上,标记被固定在中心地图上,地图可以拖动以获得新的地址和新的纬度、经度
我的代码是:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map = null;
function showlocation() {
// One-shot position request.
navigator.geolocation.getCurrentPosition(callback);
}
function callback(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
document.getElementById('default_latitude').value = lat;
document.getElementById('default_longitude').value = lon;
var latLong = new google.maps.LatLng(lat, lon);
var marker = new google.maps.Marker({
position: latLong
});
marker.setMap(map);
map.setZoom(16);
map.setCenter(marker.getPosition());
}
google.maps.event.addDomListener(window, 'load', initMap);
function initMap() {
var mapOptions = {
center: new google.maps.LatLng(0, 0),
zoom: 1,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
</script>
<input type="button" class="btn pull-right map-btn" value="btn " onclick="javascript:showlocation()" />
<div id="map-canvas" style="height: 300px"></div>
<input type="text" id="default_latitude" placeholder="Latitude"/>
<input type="text" id="default_longitude" placeholder="Longitude"/>
<script type="text/javascript">
var map = null;
var marker;
function showlocation() {
// One-shot position request.
navigator.geolocation.getCurrentPosition(callback);
}
function callback(position) {
if (marker != null) {
marker.setMap(null);
}
var geocoder = new google.maps.Geocoder();
var lat = position.coords.latitude;
var lon = position.coords.longitude;
document.getElementById('default_latitude').value = lat;
document.getElementById('default_longitude').value = lon;
var latLong = new google.maps.LatLng(lat, lon);
marker = new google.maps.Marker({
position: latLong,
draggable:true
});
marker.setMap(map);
map.setZoom(16);
map.setCenter(marker.getPosition());
google.maps.event.addListener(marker, 'dragend', function() {
geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
$('#default_latitude').val(marker.getPosition().lat());
$('#default_longitude').val(marker.getPosition().lng());
`enter code here` }
}
});
});
}
google.maps.event.addDomListener(window, 'load', initMap);
function initMap() {
var mapOptions = {
center: new google.maps.LatLng(0, 0),
zoom: 1,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
</script>
相关文章:
- 启用/禁用在谷歌地图上拖动标记
- 如何将可拖动的谷歌地图标记的地址传递到输入字段中
- 谷歌地图拖动标记问题
- 地图中的可拖动标记
- 如何在谷歌地图javascript中在地图上拖动标记(可拖动方向)时显示更新的坐标
- 谷歌地图api拖动路线再次回到原来的位置
- 谷歌地图:想在设置draggable为true后直接拖动地图
- 如何在javascript中基于谷歌地图上的位置拖动来更改值
- 谷歌地图路线拖动后的路线边界
- 谷歌地图在滚动时拖动
- 可拖动图标未显示在 Google 地图顶部且不重复
- 谷歌地图可编辑多边形过滤器 从set_at事件中拖动事件
- Google 地图拖动事件不会捕获中心更改,直到拖动在 Chrome 设备模式下结束
- 谷歌地图绘制 - 通过拖动绘制线条或多边形
- 在谷歌地图可拖动方向中,您如何识别拖动到的位置
- 谷歌地图API v3可拖动光标选项,如位置
- 将谷歌地图标记位置发送到拖动的烧瓶
- 谷歌地图API:如何获得在中心有静态pin的可拖动地图,并在每次移动地图时获得这个pin的位置
- Javascript:通过点击和拖动地图标记获取坐标
- 我可以在openlayers中用ctrl键拖动地图吗?