За последние 24 часа нас посетили 47624 программиста и 1728 роботов. Сейчас ищут 710 программистов ...

Гугл АПИ и вставка маркеров по координатам

Тема в разделе "JavaScript и AJAX", создана пользователем Skyers, 24 окт 2010.

  1. Skyers

    Skyers Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    54
    Симпатии:
    0
    Сделал вывод координат по щелчку на карте, но когда я эти координаты подставляют для вывода маркера, то маркер появлется всегда в одном и томже месте, в независимости где я щелкаю... Подскажите где где ошибся.
    Код (Text):
    1.  
    2. <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
    3.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    4. <html xmlns="http://www.w3.org/1999/xhtml">
    5.   <head>
    6.     <title>мапы</title>
    7.     <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAeew4h5edHfFSlWf3rK8j6xRU7wS5gmsYce4seDEx5DQ-iAfXkRR-Egylnzvq_JCPbYDgRw9ZNk05Rw"
    8.      type="text/javascript"></script>
    9.     <script type="text/javascript">
    10.     function init_map() {
    11.       if (GBrowserIsCompatible()) { //проверяем на совместимсть с браузером
    12.         var map = new GMap2(document.getElementById("map_canvas"));
    13.        
    14.         var tinyIcon = new GIcon();
    15. tinyIcon.image = "111.jpg"; // путь к иконке
    16. tinyIcon.iconSize = new GSize(32, 32); //размеры иконки
    17. tinyIcon.iconAnchor = new GPoint(33, 20); // "центр" иконки
    18. markerOptions = {icon: tinyIcon};
    19.  
    20. //latlng - координаты клика
    21. var eventAddMap = GEvent.addListener(map,"click", function(overlay, latlng) {  
    22.     if (latlng)  {        
    23.          var marker = new GMarker(new GLatLng(latlng), markerOptions);
    24. map.addOverlay(marker);//отображает маркер на карте - именно тут что то не работет
    25. alert(latlng);
    26. }
    27. });
    28.  
    29.         map.setCenter(new GLatLng(55.754167897761, 37.624053955078125), 11); //показуем карту в центре москвы
    30.         map.setUIToDefault(); //Инструменты управления картой  
    31.      }
    32.     }
    33.    
    34.     </script>
    35.   </head>
    36.   <body onload="init_map()" onunload="GUnload()">
    37.     <div id="map_canvas" style="width: 700px; height: 500px"></div>
    38.   </body>
    39. </html>
     
  2. Skyers

    Skyers Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    54
    Симпатии:
    0
    Все разобрался...
    строку
    Код (Text):
    1.  
    2. var marker = new GMarker(new GLatLng(latlng), markerOptions);
    меняем на
    Код (Text):
    1.  
    2. var marker = new GMarker(latlng, markerOptions);
    Только теперь еще один вопрос возник.
    Сколько щелчков столько и маркеров, а как бы сделать так что бы при новом щелчке старый маркер уберался а новый выводился.
     
  3. ideea

    ideea Активный пользователь

    С нами с:
    3 окт 2009
    Сообщения:
    60
    Симпатии:
    0
    Передем тем, как ставить маркер, заюзай map.clearOverlays();
     
  4. Skyers

    Skyers Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    54
    Симпатии:
    0
    О да, супер, все получилось,
    ideea спасибо.