2013-02-07 3 views
0

Я работаю с Google Map api. Эта карта была первоначально на странице с маркером. Когда пользователь нажал, маркер открыл некоторые детали. Кроме того, у пользователя были большие элементы управления картой для увеличения и т. Д. Наконец, пользователь мог перетащить область видимых карт.API Карт Google - сделать ссылку

Что мы пытаемся превратить в это карту, которая: 1) Имеет место маркер на карте, но он больше не доступен для кликов. 2) Щелчок по карте теперь является гиперссылкой на другую страницу карты.

Все работает, ЗА ИСКЛЮЧЕНИЕМ: когда вы наводите указатель мыши на карту, курсор выглядит так, как будто вы должны перетащить карту, а не палец, который вы получаете, когда вы наводите указатель мыши на ссылку. Если вы нажмете мышь, вы все равно можете перетащить карту; однако, как только вы отпустите мышь, ссылка активируется, и вы переходите на новую страницу.

Как бы удалить эту функцию перетаскивания и сделать курсор похожим на указатель?

Вот мой код:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=MY KEY IS HERE" 
     type="text/javascript"></script> 
<script language="JavaScript" type="text/JavaScript"> 
<!-- 
function MM_openBrWindow(theURL,winName,features) { //v2.0 
    window.open(theURL,winName,features); 
} 

function load() { 
     if (GBrowserIsCompatible()) { 
     var map = new GMap2(document.getElementById("map"));  
//  map.addControl(new GLargeMapControl()); 
     //code to setup the map START 
     //creating Geocoder object to get geolocation from an address 
      geocoder.getLatLng("123 Main St, Boston, MA", 
       function (point) 
       { 
        map.setCenter(point,15); 
        map.addOverlay(createMarker(point,1)); 
       });   
     //code to setup the map STOP 

     // Creates a marker at the given point with the given number label 
function createMarker(point, number) { 
    var marker = new GMarker(point); 
    return marker; 
} 

     } 
    } 
//--> 
</script> 

И где я называю карту в HTML:

<a href="http://www.mysite.com"> 
    <div id="map" style="width: 298px;height:150px;"></div> 
</a> 

Заранее спасибо, как всегда.

+0

Вы используете API Google Maps v2 (https://developers.google.com/maps/documentation/javascript/v2/reference), который устарел и может перестать работать уже 19 мая 2013 года. Новая разработка с использованием этого API не рекомендуется. – geocodezip

+0

ах. хорошо спасибо. – Kevin

ответ

0

С версией 3 API карт вы можете отключить перетаскивание на карте, пройдя объект map options, в котором есть draggable: false.

Вот как вы могли бы сделать это с версией 3 API:

var mapOptions = { 
    // add other options here as needed 
    draggable: false 
} 

var map = new google.maps.Map(document.getElementById("map"), 
      mapOptions); 

Если вы все еще хотите сделать это с скоро будет устаревшей версии 2 API, это reference имеет некоторую информацию о нем. Я не знаком с версии 2 API, но это выглядит, как вы просто сделать это:

var map = new GMap2(document.getElementById("map")); 
map.disableDragging(); 

Чтобы изменить курсоры, которые используются, имеют вид на GMapOptions класса. Вы передаете эти параметры в конструктор GMap2 выше.

+0

Спасибо Сунил. Я пошел вперед и превратился в v3, а затем использовал ваш совет выше. – Kevin