hot*_*der 28 javascript google-maps
我正在使用谷歌地图.在我的代码中,我使用了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);
Run Code Online (Sandbox Code Playgroud)
Ham*_*han 22
@ phoenix24的答案实际上帮助了我(他自己的asnwer没有解决我的问题顺便说一下).setCenter的正确参数是
map.setCenter({lat:LAT_VALUE, lng:LONG_VALUE});
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果您的变量是lat和lng,则以下代码将起作用
map.setCenter({lat:lat, lng:lng});
Run Code Online (Sandbox Code Playgroud)
这实际上解决了我非常错综复杂的问题,所以我想我会在这里发布.
hot*_*der 13
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>
Run Code Online (Sandbox Code Playgroud)
小智 5
搜了又搜,终于发现ie需要知道地图大小。设置地图大小以匹配 div 大小。
map = new GMap2(document.getElementById("map_canvas2"), { size: new GSize(850, 600) });
<div id="map_canvas2" style="width: 850px; height: 600px">
</div>
Run Code Online (Sandbox Code Playgroud)
对我来说,上述解决方案不起作用,然后我尝试了
map.setCenter(new google.maps.LatLng(lat, lng));
Run Code Online (Sandbox Code Playgroud)
它按预期工作。
| 归档时间: |
|
| 查看次数: |
109095 次 |
| 最近记录: |