Добавление статического маркера в поиск мест Google - PullRequest
1 голос
/ 12 июля 2011

Я нашел этот пример для поиска мест API Карт Google, который мне действительно нравится. - Поиск мест Единственное, что я хотел бы добавить, - это статический маркер на определенном широте / долготе, чтобы при выдаче результатов поиска они могли видеть связь между статическим местом и результатами поиска. Я знаю, как добавить маркеры ... просто не загружается с этим кодом. Любая идея о том, как это будет сделано, будет высоко ценится.

1 Ответ

0 голосов
/ 16 июля 2011

Я не уверен, что вы хотите получить, но, возможно, вы могли бы использовать 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;
}

Это только идея, и она не работает идеально, но вы можете восстановить ее, если вам это нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...