2014-11-14 4 views
0

Привет У меня есть этот код, используемый для моей карте контакта, и я хочу добавить еще 2 места на нем вы можете помочь мне пожалуйста:Gmap с несколькими маркером

/* --- Google Map --- */ 
    var mapOptions = { 
    center: new google.maps.LatLng(49.5564021,5.8628159), 
    zoom: 15, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById("map-canvas"),mapOptions); 
    var image = "img/marker.png"; 
    var marker = new google.maps.Marker({ 
    position: mapOptions.center, 
    map: map, 
    icon: image 
    }); 

ответ

0

Вам нужно определить позицию для второго и третий маркеры и добавить их так же, как вы добавили первую

var image = "img/marker.png"; 
    var marker = new google.maps.Marker({ 
    position: mapOptions.center, 
    map: map, 
    icon: image 
    }); 

    var position2={lat:49.555,lng:5.861}; 
    var marker2 = new google.maps.Marker({ 
    position: position2, 
    map: map, 
    icon: image 
    }); 

    var position3={lat:49.557,lng:5.863}; 
    var marker3 = new google.maps.Marker({ 
    position: position3, 
    map: map, 
    icon: image 
    }); 

и, конечно же, есть место для улучшения, если добавить маркеры внутри цикла или объявить функцию encapsule этой задачи.

+0

думаю, что это работает –

+0

Я рад, что это сработало для вас. Не могли бы вы отметить мой ответ как принятый? – amenadiel

-2

Я использую эту функцию для добавления дополнительных маркеров к карте: Элемент - это мой пользовательский объект, который я хочу добавить на карту (в этом случае это сведения о магазине).

Я уверен, что вы можете найти то, что вам нужно отсюда.

function _setDealer (item) { 

    //the position of the marker 
    var myLatlng = new google.maps.LatLng(item.Latitude, item.Longitude), 
     markerOptions = { 
      animation: google.maps.Animation.DROP, 
      position: myLatlng, 
      //your map instance 
      map: map, 
      country: { 
       name: (item.Country ? item.Country.Name : ''), 
       code: (item.Country ? item.Country.Code : '') 
      }, 
      geocoding: { 
       coordinate: { 
        latitude: (item.Geocoding ? item.Geocoding.Coordinate.Latitude : false), 
        longitude: (item.Geocoding ? item.Geocoding.Coordinate.Longitude : false) 
       }, 
       state: (item.Geocoding ? item.Geocoding.State : false) 
      } 
     }, 
     classification = item.Classification.toLowerCase(), 
     image = new google.maps.MarkerImage(
      mapOptions.mapIcons[classification].normal.filename, 
      new google.maps.Size(mapOptions.mapIcons[classification].normal.size[0], mapOptions.mapIcons[classification].normal.size[1]), 
      new google.maps.Point(0, 0), 
      new google.maps.Point(mapOptions.mapIcons[classification].normal.center[0], mapOptions.mapIcons[classification].normal.center[1]) 
     ), 
     marker = new google.maps.Marker(markerOptions); 

    marker.setIcon(image); 

} 
+0

Я считаю, что это сработает. Однако, это немного перебор, чтобы понять, что делает ваш код, когда вы только хотели напечатать маркер. Почему бы вам не упростить его, чтобы он мог удовлетворить общий случай? – amenadiel

+1

Да, вы правы, я просто копировал/вставлял его из проекта, который я сделал один раз. Другие ответы (ваши) также правильные .. использование, которое вы предпочитаете. :) –

+0

Ответ может быть полезен для инкапсуляции добавления маркеров, поэтому вам не нужно повторять себя. – amenadiel

Смежные вопросы