карта Google динамически ставит отметку на карте для моего списка выбора (город, город) выбора - PullRequest
0 голосов
/ 21 августа 2009

Я работаю над порталом недвижимости. Мне нужно сделать реализацию с gMap: /

У меня есть динамический список и мне нужна карта Google, чтобы динамически ставить отметку на карте для выбора города и города ...

ценить помогает! спасибо

альтернативный текст http://img.skitch.com/20090821-txmaw93yjt5ua197t41f6k1e3u.jpg

Ответы [ 3 ]

1 голос
/ 21 августа 2009

Если у вас есть только название или адрес города, используйте следующую функцию:

var map = new GMap2(document.getElementById("map"));
var geocoder = new GClientGeocoder();

function showAddress(address) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(address);
      }
    }
  );
}

Или, если у вас есть все значения, как требуется ниже, используйте следующий код:

var json_loc = { "locationName": "xxxx", "locationAddress": "xxxx", "latitude": xxxx, "longitude": xxxx };

Если у вас есть вышеуказанные значения, вы можете использовать следующие функции для создания карт Google.

var map = new GMap2(document.getElementById("map"));
var point = new GLatLng(json_loc.latitude, json_loc.longitude);
var locationName = json_loc.locationName;
var locationAddress = json_loc.locationAddress;
map.setCenter(point, 14);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addOverlay(locationView.createMarker(point, locationName, locationAddress));
// Creates a marker whose info window displays the letter corresponding 
// to the given index.
createMarker: function(point, locationName, locationAddress) {
    var marker = new GMarker(point);    
    GEvent.addListener(marker, "mouseover", function() {
        marker.openInfoWindowHtml("<b>" + locationName + "</b><br>" + locationAddress);
    });
    return marker;
}
0 голосов
/ 21 августа 2009

Это самый простой способ добавить маркер на карту.

var point = new GLatLng(40,10);
var marker = new GMarker(point);
map.addOverlay(marker);
0 голосов
/ 21 августа 2009

Я бы порекомендовал использовать это расширение (библиотека JS): http://www.pixeldevelopment.com/pdmarker.asp

для координат, вам нужно сделать геокодер через Google API, чтобы получить правильные координаты для нужного города.

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