Невозможно установить несколько маркеров на картах Google с помощью карты Google javascript api v3 - PullRequest
1 голос
/ 02 июня 2011

Я хочу разместить несколько маркеров на карте, но я получаю карту без установленных маркеров.

<script type="text/javascript">

  var map;
  var i;

  window.onload=function()
  {
    var mapOptions = {
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: new google.maps.LatLng(59.32522, 18.07002)
    };

    map = new google.maps.Map(document.getElementById("map"),mapOptions);
    var bounds = new google.maps.LatLngBounds();
         var places =[];
         places.push(google.maps.LatLng(40.756,-73.986));
         places.push(google.maps.LatLng(59.32522, 18.07002));
         places.push(google.maps.LatLng(37.775,-122.419));
         places.push(google.maps.LatLng(47.620,-122.347));
         places.push(google.maps.LatLng(-22.933,-43.184));
         for(i=0; i<places.length;i++)
      {
          var marker= new google.maps.Marker({position:places[i],map: map,title:'place Number'+i});

        bounds.extend(places[i]);

      }
      map.fitBounds(bounds);
  }
</script>

Ответы [ 2 ]

0 голосов
/ 18 июня 2013

Вы можете написать функцию javascript и вызывать ее после заполнения результатов.Также вы можете использовать json push данные со стороны сервера в javascript

function showMap(locations){  
    //map code here
}
0 голосов
/ 03 июня 2011

Вам нужно изменить все ваши строки, которые выглядят так:

     places.push(google.maps.LatLng(40.756,-73.986));

Чтобы выглядеть так:

     places.push(new google.maps.LatLng(40.756,-73.986));

Вот ваш код выше с этими изменениями.Это работает для меня.Попробуйте:

<script type="text/javascript">

  var map;
  var i;

  window.onload=function()
  {
    var mapOptions = {
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: new google.maps.LatLng(59.32522, 18.07002)
    };

    map = new google.maps.Map(document.getElementById("map"),mapOptions);
    var bounds = new google.maps.LatLngBounds();
         var places =[];
         places.push(new google.maps.LatLng(40.756,-73.986));
         places.push(new google.maps.LatLng(59.32522, 18.07002));
         places.push(new google.maps.LatLng(37.775,-122.419));
         places.push(new google.maps.LatLng(47.620,-122.347));
         places.push(new google.maps.LatLng(-22.933,-43.184));
         for(i=0; i<places.length;i++)
      {
          var marker= new google.maps.Marker({position:places[i],map: map,title:'place Number'+i});

        bounds.extend(places[i]);

      }
      map.fitBounds(bounds);
  }
</script>
...