2010-06-08 3 views
3

Я заметил, что на большинстве карт Google вы не можете перетащить значок маркера в свою адресную строку и посмотреть или загрузить сам файл .png. Вместо этого вы наводите курсор на маркер, вы можете видеть javascript: void (0).google maps, как отключить значки маркеров от перетаскивания?

Как это достигается? Благодаря!

+0

http://code.google.com/intl/es-ES/apis/maps/documentation/javascript/basics.html – Ben

ответ

1

Похоже, что маркеры в v3 API не могут быть перетащены в адресную строку, а маркеры - в v2 API.

Следующий пример v3 не позволяет маркеру перемещаться (тестируется в Firefox и Chrome). Он также показывает javascript:void(0) в строке состояния:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps API No Marker Dragging v3</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 
    <div id="map" style="width: 500px; height: 400px;"></div> 

    <script type="text/javascript"> 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 2, 
     center: new google.maps.LatLng(35.00, -25.00), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    new google.maps.Marker({ 
     position: map.getCenter(), 
     map: map 
    }); 

    </script> 
</body> 
</html> 

Скриншот:

Google Maps API No Marker Dragging v3 http://img339.imageshack.us/img339/570/nodrag.jpg

С другой стороны, тот же пример с использованием v2 API, позволяет маркеру быть втянута в адресной строке :

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps API No Marker Dragging v2</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false" 
      type="text/javascript"></script> 
</head> 
<body onunload="GUnload()"> 
    <div id="map" style="width: 500px; height: 400px;"></div> 

    <script type="text/javascript"> 
    var map = new GMap2(document.getElementById("map")); 
    map.setCenter(new GLatLng(35.00, -25.00), 2); 
    map.addOverlay(new GMarker(map.getCenter())); 
    </script> 
</body> 
</html> 

Скриншот:

+0

@Lawrence: Спасибо за редактирование :) –

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