【问题标题】:Google Maps setCenter()谷歌地图 setCenter()
【发布时间】:2010-05-05 12:47:24
【问题描述】:

我正在使用谷歌地图。在我的代码中,我使用了 setCenter() 函数。我的问题是标记总是位于地图区域的左上角(而不是中心)。请告诉我如何解决?

我的一段代码是

lat = 46.437857;
lon = -113.466797;

marker = new GMarker(new GLatLng(lat, lon));


var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20, 40));
map.addControl(new GLargeMapControl3D(), topRight);
map.setCenter(new GLatLng(lat, lon), 5);

map.addOverlay(marker);

【问题讨论】:

  • 如果您发布了一些代码,它可能会有所帮助
  • @hotcoder:您能否向我们展示地图画布的<div>,如果可能的话,还可以展示初始化所有内容的完整 JavaScript 部分。好像有什么问题,在别处。
  • 在上图中你可以看到左上角,伦敦有标记

标签: javascript google-maps


【解决方案1】:

对我来说,上述解决方案不起作用,然后我尝试了

map.setCenter(new google.maps.LatLng(lat, lng));

它按预期工作。

【讨论】:

  • 以上所有对我都不起作用,但是这个。谢谢
【解决方案2】:

@phoenix24 的回答实际上帮助了我(顺便说一句,他自己的 asnwer 并没有解决我的问题)。 setCenter 的正确参数是

map.setCenter({lat:LAT_VALUE, lng:LONG_VALUE});

Google Documentation

顺便说一句,如果您的变量是 lat 和 lng,则以下代码将起作用

map.setCenter({lat:lat, lng:lng});

这实际上解决了我非常复杂的问题,所以我想我会在这里发布。

【讨论】:

    【解决方案3】:
     function resize() {
            var map_obj = document.getElementById("map_canvas");
    
          /*  map_obj.style.width = "500px";
            map_obj.style.height = "225px";*/
            if (map) {
                map.checkResize();
                map.panTo(new GLatLng(lat,lon));
            }
        }
    
    <body onload="initialize()" onunload="GUnload()" onresize="resize()">
    <div id="map_canvas" style="width: 100%; height: 100%">
    </div>
    

    【讨论】:

    • V3.谢谢您的帮助。 google.maps.event.trigger(map, 'resize'); map.panTo(新 google.maps.LatLng(x, y));
    【解决方案4】:

    找了又找,终于发现ie需要知道地图大小。 设置地图大小以匹配 div 大小。

    map = new GMap2(document.getElementById("map_canvas2"), { size: new GSize(850, 600) });
    
    <div id="map_canvas2" style="width: 850px; height: 600px">
    </div>
    

    【讨论】:

      【解决方案5】:

      在你的代码中,一行

      map.setCenter(new GLatLng(lat, lon), 5);
      

      setCenter 方法只接受一个参数,用于 lat:long 位置。为什么要在那里传递两个参数?

      建议你改成,

      map.setCenter(new GLatLng(lat, lon));
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多