我发现了Google Maps API Places Search的这个例子,我非常喜欢。 - Places Search我想添加的另一件事是特定Lat / Lng的静态标记,这样当搜索结果给出时,他们可以看到从静态位置到搜索结果的关系。我知道如何添加标记...似乎没有加载此代码。任何关于如何做到这一点的想法将不胜感激。
答案 0 :(得分:0)
我不确定你想要什么,但也许你可以使用directionsService。
全局变量:
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var startLocation;
var markerStart;
在函数initialize()中:
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
google.maps.event.addListener(map, 'click', function(event) {
mapZoom = map.getZoom();
startLocation = event.latLng;
setTimeout("placeMarkerStart()", 600);
});
更多的全球员工:
function placeMarkerStart() {
if(mapZoom == map.getZoom()){
markerStart = new google.maps.Marker({
position: startLocation,
map: map,
title: "start"
});
}
}
function calcRoute(num) {
var request = {
origin: markerStart.getPosition(),
destination: markers[num].getPosition(),
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
如果你想测试一下,你可以添加:
<div id="locationField">
...
<input type="button" onclick="calcRoute(0);" id="start" value="0"/>
<input type="button" onclick="calcRoute(1);" id="start" value="1"/>
<input type="button" onclick="calcRoute(2);" id="start" value="2"/>
</div>
...并更改地图的位置:
#map_canvas {
position: absolute;
width: 399px;
height: 399px;
top: 55px;
left: 0px;
border: 1px solid grey;
}
这只是一个想法,并不完美,但你可以重建这个,如果你喜欢这个。