Можно ли настроить Google / Yahoo Map? - PullRequest
2 голосов
/ 03 декабря 2009

Я абсолютный новичок в отношении Google Map / Yahoo Map. Я хотел бы знать, технически возможно ли попросить показать какой-либо город в любой стране ДИНАМИЧЕСКИ (я имею в виду, передавая параметры), а затем показать несколько картинок НАД картой рядом с городом?

Спасибо.

Ответы [ 4 ]

5 голосов
/ 04 декабря 2009

Существует множество способов сделать это, некоторые из которых красивее других.

  1. Вы можете использовать GInfoWindow для отображения всплывающего окна с картинками в любом месте.
  2. Вы можете использовать одну из удобных библиотек, предлагаемых здесь http://code.google.com/p/gmaps-utility-library-dev/, чтобы помочь вам в отображении этих изображений.
  3. Однако я бы порекомендовал использовать http://econym.org.uk/gmap/ewindows.htm для создания окна, похожего на GInfoWindow, но стилизованного вами. Просто стилизуйте окно так, чтобы оно казалось просто наложенным рисунком.
  4. Вы можете выбрать дурачение с помощью z-index и ручное позиционирование с помощью библиотеки JavaScript, такой как jQuery.

Кроме того, чтобы ответить на начало вашего вопроса, да, вы можете перефокусировать карту в любом месте, используя метод GMap .setCenter (). Документация о setCenter (), GInfoWindow и многом другом доступна по адресу http://code.google.com/apis/maps/documentation/reference.html

4 голосов
/ 03 декабря 2009

Я просто начал изучать это сам.

Вот хорошая ссылка для начала:

http://code.google.com/apis/maps/

3 голосов
/ 12 марта 2010

На ваш второй вопрос,

показать несколько картинок НАД на карте рядом город?

Мне нравится ответ @ andykram выше, но я реализовал его ранее, используя слой Panoramio, доступный для API Карт. Он может быть немного переполнен, но это интерфейс, к которому привыкли люди, и поскольку его так просто включить в карту, на этот раз он станет для вас решением.

Просто добавьте следующее в функцию инициализации карты.

var myLayer = new GLayer("com.panoramio.all");
map.addOverlay(myLayer);

Что касается динамического отображения любого города в мире на карте Google, решение легко внедряется - вам нужно геокодировать название города. Это можно сделать, вызвав функцию для события, такого как onclick.

function showAddress(address) {
  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (point) {
          map.setCenter(point, 13);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
        }
      }
    );
  }
}

Если вы столкнулись с препятствием, попробуйте сначала - http://econym.org.uk/gmap/ - возможно, лучший ресурс для API GMaps в Интернете.

0 голосов
/ 12 марта 2010

GeoExt - хороший фреймворк, если вы работаете с картами в целом. Вы также можете получить доступ к другим типам карт (OSM, GeoServer).

...