гугл карта два маркера на одной карте - PullRequest
5 голосов
/ 16 мая 2011

Эй.Я пытаюсь поставить две точки на одной карте с одинаковым идентификатором Div ..
, но это не работает ..
код:

для 1-го,

  var map = new GMap2(document.getElementById("map-canvas"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(<?=$lat;?>,<?=$lng;?>), 6);

  var point = new GLatLng(<?=$lat;?>,<?=$lng;?>);
  var marker = createMarker(point,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
  map.addOverlay(marker);


  function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }

для 2-го,

  var map = new GMap2(document.getElementById("map-canvas"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(<?=$mylat;?>,<?=$mylng;?>), 6);

  var point1 = new GLatLng(<?=$mylat;?>,<?=$mylng;?>);
  var marker = createMarker1(point1,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
  map.addOverlay(marker);


  function createMarker1(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }

почему две точки не показаны на одной карте ?????и это будет видно на двух разных картах ...

Ответы [ 2 ]

1 голос
/ 16 мая 2011
  //set up map as before

  var point0 = new GLatLng(<?=$mylat0;?>,<?=$mylng0;?>);
  var point1 = new GLatLng(<?=$mylat1;?>,<?=$mylng1;?>);
  var marker0 = createMarker(point0,'Welcome:<b></b><br>First Info Window etc);
  var marker1 = createMarker(point1,'Welcome:<b></b><br>Second Info Window etc);
  map.addOverlay(marker);

// only declare this once
  function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }

Это один из способов сделать это просто для того, чтобы заставить его работать на вас, но, по сути, точки и маркеры js должны быть массивами, через которые вы проходите циклы - вероятно, в PHP переменные $ mylat и $ mylong.

0 голосов
/ 16 мая 2011

Как я понял - вы хотите добавить две точки на одной карте, на одной странице. Если это так - вам не нужно инициализировать Gmap дважды, просто сделайте что-то вроде этого: http://pastebin.com/BtvdfaiP

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