谷歌地图 - 可拖动标记,无约束的坐标值?

时间:2013-04-03 17:17:34

标签: google-maps jquery-mobile google-maps-api-3

使用谷歌地图v3,我正在尝试创建一个带有标记的地图,该标记始终以地图的位置为中心。当标记可拖动时,标记永远不会复制到同一个地图的镜像上(我指的是在缩放级别1时看到的相同地图)。当禁用拖动标记时,它将在地图镜像上复制,但随后将地图平移到左右。在缩放时:1最终导致标记被镜子遮盖。我无法理解这种行为,所以它必须是某种资源管理的东西。但真正的问题是,我正在尝试提取地图/标记的坐标,但是纬度/经度值只是无限增加!由于某种原因,lat / lon值没有限制......

我知道一年前我遇到了同样的问题,但我不记得解决方案是什么&我从该项目的代码并不清楚是什么修复它!我认为修复可能与LatLngBounds有关吗?

    $(function(){

    var map = $('#map').gmap3({

        getgeoloc:{

        callback : function(latLng){
        // GEOLOCATION ALLOWED:
          if (latLng){
            $(this).gmap3({
              marker:{
                latLng:latLng,
                options:{
                draggable:false
                },
                events:{
                    dragend: function(marker, event, context){
                    window.currentmarkercenter = marker.getPosition();
                    document.getElementById('markerCoordinates').innerHTML = window.currentmarkercenter;
                    var map = $(this).gmap3("get");
                    map.panTo(window.currentmarkercenter);
                    }
                }
              },
              map:{
              options:{
              center:latLng,
              zoom:14
              },
              events:{
                center_changed: function(map, event, context){
                    window.currentmapcenter = map.getCenter();
                    document.getElementById('markerCoordinates').innerHTML = window.currentmapcenter;
                    var marker = $(this).gmap3({get:{name:"marker"}});
                marker.setPosition(window.currentmapcenter);
                    }
                }
              }
            });
            window.geolocation = 1;

          } else {
          //GEOLOCATION DENIED:
          $(this).gmap3({
            marker:{
                latLng:[38.27269,   -96.46094],
                options:{
                draggable:false
                },
                events:{
                    dragend: function(marker, event, context){
                    window.currentmarkercenter = marker.getPosition();
                    document.getElementById('markerCoordinates').innerHTML = window.currentmarkercenter;
                    var map = $(this).gmap3("get");
                    map.panTo(window.currentmarkercenter);
                    }
                }
              },
              map:{
              events:{
                center_changed: function(map, event, context){
                    window.currentmapcenter = map.getCenter();
                    document.getElementById('markerCoordinates').innerHTML = window.currentmapcenter;
                    }
                }
              }
            });
            }
          }
        }
    });
        });

HTML:

<div id="map" style="width:100%;margin-left:auto;margin-right:auto;"></div>
<div id="markerCoordinates" style="display:block;position:absolute;top:6px;left:42px;"></div>

我也在使用http://gmap3.net/en/,这是我现在后悔的决定,除了当我用其中一个演示文件中的代码替换我的JS时(在地图上放置一个标记和放大器) ;让你平移),坐标值&amp; “地图镜像”按预期工作!我很难过!

0 个答案:

没有答案