Google Maps API - 制作链接

时间:2013-02-07 02:12:43

标签: javascript google-maps google-maps-api-2

我正在使用谷歌地图API。此地图最初位于带标记的页面上。当用户点击时,标记打开了一些细节。此外,用户可以使用大型地图控件进行缩放等。最后,用户可以拖动地图可视区域。

我们正在尝试将其转化为以下地图: 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>

一如既往地感谢您。

1 个答案:

答案 0 :(得分:0)

使用maps API的第3版,您可以通过传入其中包含draggable: false的{​​{3}}对象来禁用地图上的拖动。

以下是使用版本3 API执行此操作的方法:

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

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

如果您仍想使用即将弃用的第2版API执行此操作,则此map options会提供相关信息。我不熟悉版本2 API,但看起来你只是这样做:

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

要更改使用的游标,请查看reference类。您将这些选项传递给上面的GMap2构造函数。