谷歌地图V3保存用户使用拖放后的地图位置;滴
Google Maps V3 save map position after user used drag&drop
所以我在我的网站上显示一张地图,我想在用户用鼠标在地图上拖动并点击网站上的提交按钮后保存当前地图状态,以便稍后显示,所以我需要的是在用户使用地图后获得地图的当前lat and long
。
因此,如果用户回来,我可以通过设置LatLng
来显示相同的地图
<script
type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&callback=initialize"></script>
function initialize() {
var mapCanvas = document.getElementById('map_canvas');
var mapOptions = {
center: new google.maps.LatLng(44.5403, -78.5463),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(mapCanvas, mapOptions);
}
//LE
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&callback=initialize"></script>
<script type="text/javascript">
var map;
function initialize() {
var mapCanvas = document.getElementById('map_canvas');
var mapOptions = {
center: new google.maps.LatLng(44.5403, -78.5463),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(mapCanvas, mapOptions);
}
$(window).load(function(){
google.maps.event.addDomListener(window, 'load', initialize);
});
$(document).ready(function(){
var currentLL = map.getCenter(); // you can even store it in localStorage
var currentZoom = map.getZoom();
console.log(currentLL);
});
</script>
一旦用户点击提交按钮,就可以获得谷歌地图的中心位置(lat/lng)。这是保留地图的明智选择。
var currentLL = map.getCenter(); // you can even store it in localStorage
var currentZoom = map.getZoom(); // better to save zoom level too
一旦你回到地图,设置它有中心
map.setCenter(currentLL);
map.setZoom(currentZoom);
您可以使用@Praveen的解决方案,但不要将该代码放在文档就绪函数中。将它放在一个单独的函数中,并在用户点击保存按钮时调用该函数。
或者,您可以使用Maps API事件侦听器进行此操作。
您提到,当用户使用鼠标在地图上拖动后,点击按钮和时,您希望保存位置。我建议你在地图变为idle
时取中心并缩放。也就是说,当平移或缩放后贴图变为空闲时。请参阅文档。
您可以使用dragend
事件,但如果用户仅更改缩放级别,则该事件将不起作用。
google.maps.event.addListener(map, 'idle', function() {
currentLL = map.getCenter();
currentZoom = map.getZoom();
console.log(currentLL, currentZoom);
});
这样,您总是可以使用最新的中心和缩放级别。
JSFiddle演示
相关文章:
- PHP谷歌地图-位置红色气球没有显示
- Bing地图图钉宽度设置会将图钉从地图位置移开
- 谷歌地图位置自动完成被jQuery Mobile弹出窗口阻止
- 地图位置带有照片和其他详细信息的详细信息
- 将显示为 XML 格式的 Google 地图位置转换为输出 (ASP.Net、C#)
- 具有常规位置类型的谷歌地图位置构造函数
- 如何使用自己的地址/坐标生成指向 Google 地图位置的准确链接?有没有这方面的API
- 谷歌地图API:将标记放在当前地图位置
- 返回我之前指定的谷歌地图位置列表
- 将地图位置信息从PHP传递到javascript,以便与Google地图v3api一起使用
- 谷歌地图V3保存用户使用拖放后的地图位置;滴
- Jquery谷歌地图位置-获取选择选项
- 更新基于gps坐标的谷歌地图位置
- ArcGIS初始地图位置
- 谷歌地图位置搜索框:如何重新计算pac-container的位置
- 使用jquery移动显示地图位置,使用经度和纬度
- 谷歌地图位置API地址自动完成和显示选择的结果
- 点击按钮时更新地图位置
- 触发谷歌地图位置信息窗口
- MapsApi -谷歌地图位置服务给出一个奇怪的错误