【发布时间】:2016-01-25 21:00:09
【问题描述】:
我正在构建一个谷歌地图,您可以在其中获取表格的纬度、经度和地址。它通过 GPS 获取您的位置,并自动将地图居中并获取坐标。此外,如果您平移地图,您将从新中心获取此数据。
我看到了一个类似的问题How to get the formatted address from a dragged marker in Google Version Maps,它可以从可拖动的标记中获取地址。我想看看反向地理编码服务是否有可能在我平移它时仅从地图中心获取它。
这是部分代码。
google.maps.event.addListener(map, "center_changed", function() {
var lat = map.getCenter().lat();
var lng = map.getCenter().lng();
$('#lat').val(lat);
$('#lng').val(lng);
});
...
<body>
<div id="map-canvas"></div>
<input id="lat"/>
<input id="lng"/>
</body>
现在我可以得到坐标了。在这里你可以看到我的地图。 http://output.jsbin.com/vopuhu
这张地图与 Uber 用来接客的地图相似。
谢谢!
这里也是地理位置部分...
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
document.getElementById('lat').value = position.coords.latitude;
document.getElementById('lng').value = position.coords.longitude;
var marker = new google.maps.Marker({
map: map,
position: pos,
title: 'Ubicación GPS',
icon:'https://storage.googleapis.com/ops_geojson/Flecker/Icons/GPS_Tiny01.png'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
} else {
handleNoGeolocation(false);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(19.043516, -98.198232),
content: content,
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
【问题讨论】:
标签: javascript google-maps google-maps-api-3 gps geocoding