0

我正在使用谷歌地图 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>

一如既往地提前感谢。

4

1 回答 1

0

使用地图 API 的第 3 版,您可以通过传入其中包含的地图选项对象来禁用地图上的拖动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 来执行此操作,则此参考提供了一些相关信息。我不熟悉版本 2 API,但看起来你只是这样做:

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

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

于 2013-02-07T04:39:39.903 回答