map.setcenter& map.setzoom无法正常工作

时间:2012-06-04 16:47:09

标签: javascript google-maps-api-3

我有一个左侧菜单栏,当有人点击某个链接时,它会跳转到地图上的标记位置。这很好。

但是,我想更新这个,以便当他们点击左侧栏中的链接时,地图以标记为中心并缩放到某个级别。但这并不是很有效。

我在Firebug中收到的错误是:

missing ) after argument list
map.setCenter(latlng:latLng);

代码:

<div id="LeftArea" style="width: 220px; float: left; border-bottom: 1px solid #dedede; padding: 5px 0 5px 0;">
    <div style="color: #a41d21;font-size: 13px; font-weight: bold;">
        <script language="javascript" type="text/javascript">
            document.write('<a href="javascript:myclick(' + (i) + ')">' + '[[Title]]' + '<\/a><br>');
        </script>
    </div>
    <div>
        [[Address]]<br />
        [[City]], [[State]] [[Zip]]
    </div>
</div>

myclick = function(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

// Associate the markers with the links in the side bar.
  gmarkers[i] = marker;

// Display the info window when someone clicks on a marker or it's associated side bar link.
  google.maps.event.addListener(marker, 'click', function () {
    map.setCenter(latlng:latLng);
    map.setzoom(zoom: 16);
    InfoWindow.setContent(this.html);
    InfoWindow.open(map, this);
  });

1 个答案:

答案 0 :(得分:1)

map.setCenter()map.setZoom()需要特定的参数,文档对其语法没有帮助。

map.setCenter()需要LatLng个对象:

myLatLng=  new google.maps.LatLng(0,0);
map.setCenter(myLatLng);

map.setZoom()采用一个简单的整数:例如map.setZoom(16);

冒号在对象定义中有特殊用途,但在这里没有位置。这就是导致错误消息的原因。

附加问题:latLng在这里是什么......? map.setCenter(latlng:latLng);

这需要在某处定义。也许您希望地图以标记为中心?

map.setCenter(this.getPosition());