Создание маркеров Google Map с помощью PHP - PullRequest
0 голосов
/ 29 ноября 2011

Все, в моей базе данных хранятся некоторые местоположения с длинными и широтными координатами.Я спорю между созданием карты для каждого местоположения или добавлением маркеров для всех них.Любой совет был бы оценен по этой идее, но моя проблема в том, что я получаю эти значения из моей базы данных mySQL.Похоже, что вы можете добавить их только через javascript.Нужно ли передавать координаты в функцию JavaScript для создания маркеров?Как это будет выглядеть?Любые предложения приветствуются!

Ответы [ 2 ]

3 голосов
/ 29 ноября 2011

Ты прав.Вы должны извлечь данные из базы данных и использовать что-то вроде:

  function initialize() {
    var myLatlng = new google.maps.LatLng(<?php echo $lat; ?>,<?php echo $long; ?>);
    var myOptions = {
      zoom: 4,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var marker = new google.maps.Marker({
        position: myLatlng, 
        map: map,
        title:"Hello World!"
    });   
  }

В теге на странице.Вышеуказанное взято из http://code.google.com/apis/maps/documentation/javascript/examples/marker-simple.html,, поэтому вам придется адаптировать его к вашим потребностям.

0 голосов
/ 15 декабря 2011

Да, вам нужно передать координаты long и lat из вашей базы данных в код Javascript на веб-странице, чтобы создать для них маркеры на карте. Если вы используете PHP-код для генерации страницы, это означает написание PHP-кода для запроса к базе данных, а затем эхо () HTML-страницы с включенным кодом Javascript.

Ответ Zrvan выше использует new google.maps.LatLng(), чтобы создать один объект координат и нарисовать один маркер. Если вы решили разместить несколько маркеров на одной карте, я рекомендую поместить данные для маркеров в структуру данных массива Javascript. Затем напишите цикл Javascript для вызова new google.maps.Marker() для каждой записи в массиве.

Документация Google Maps рекомендует использовать документ XML и вызовы AJAX для доставки данных маркера из базы данных на веб-страницу. См. http://code.google.com/apis/maps/articles/phpsqlajax.html.

Если вы получаете более нескольких сотен маркеров на одной карте, вы можете прочитать статью «Слишком много маркеров!» В документации по API Карт Google: http://code.google.com/apis/maps/articles/toomanymarkers.html.

...