sal*_*cin 41 google-maps google-maps-api-3
我正在使用Google Map V3显示从数据库中提取的标记列表,使用MYsql和PHP.MY标记在地图上使用完整地址(来自DB,包括邮政编码)设置,因为我没有Long,Lat信息所有工作正常,MY循环看起来如下
while...
Addmarker(map,'MY ADdress','Title');
end while;
Run Code Online (Sandbox Code Playgroud)
现在我想将地图设置为循环中包含的特定标记,该标记将与先前输入的邮政编码匹配.如何将地图设置为此标记的中心并打开infowindow?
6tw*_*nty 59
在地图上有标记后,您可以通过API检索Lat/Long坐标,并使用它来设置地图的中心.您首先需要确定您希望以哪个标记为中心 - 我会将其留给您.
// "marker" refers to the Marker object you wish to center on
var latLng = marker.getPosition(); // returns LatLng object
map.setCenter(latLng); // setCenter takes a LatLng object
Run Code Online (Sandbox Code Playgroud)
信息窗口是单独的对象,通常绑定到标记,因此要打开信息窗口,您可能会执行此类操作(但这取决于您的代码):
var infoWindow = marker.infoWindow; // retrieve the InfoWindow object
infoWindow.open(map); // Trigger the "open()" method
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
Edd*_*die 39
在@ 6twenty的答案的基础上......我更喜欢panTo(LatLng)而不是setCenter(LatLng)作为panTo动画,以便更平滑地过渡到中心"如果变化小于地图的宽度和高度". https://developers.google.com/maps/documentation/javascript/reference#Map
以下使用Google Maps API v3.
var marker = new google.maps.Marker({
position: new google.maps.LatLng(latitude, longitude),
title: markerTitle,
map: map,
});
google.maps.event.addListener(marker, 'click', function () {
map.panTo(marker.getPosition());
//map.setCenter(marker.getPosition()); // sets center without animation
});
Run Code Online (Sandbox Code Playgroud)
Ale*_*lex 17
这应该做的伎俩!
google.maps.event.trigger(map, "resize");
map.panTo(marker.getPosition());
map.setZoom(14);
Run Code Online (Sandbox Code Playgroud)
您需要全局地图
| 归档时间: |
|
| 查看次数: |
98544 次 |
| 最近记录: |