4

我在 div 上设置了谷歌地图(api v3)。然后我想通过 div 检索地图。

做类似的事情

theMap = $('.myDiv').theGoogleMap;

我找不到这个简单的信息。感谢您的帮助。

4

3 回答 3

5

也许这对于原始海报来说为时已晚,但可能对其他人有所帮助。在自己解决之前,我也花了一些时间搜索。结果真的很简单。

假设保存地图的 div 如下所示:

<div id="myMap"></div>

创建地图时,将对地图对象的引用作为属性添加到保存地图的文档元素中:

// Create the map
originalMapObject = new google.maps.Map('myMap', map_options);

// Get the DOM Element
var element = document.getElementById('myMap');

// Create a random property that reference the map object
element.gMap = originalMapObject;

当您再次需要地图对象时,只需执行以下操作

gmap = document.getElementById('myMap').gMap

希望能帮助到你。

于 2015-03-19T14:13:09.193 回答
2

好吧,你不能这样做,你可以声明一个全局变量并将对地图对象的引用保存在该变量中。查看 google 文档中的示例。

      var map;
      function initialize() {
        var myOptions = {
          zoom: 8,
          center: new google.maps.LatLng(-34.397, 150.644),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            myOptions);
      }

      google.maps.event.addDomListener(window, 'load', initialize);

这里还有一个 Javascript 教程:

https://developer.mozilla.org/en/JavaScript/Guide

于 2012-05-30T15:09:41.717 回答
0

API 不能朝那个方向工作。创建对象时,您必须在 javascript 中保留对对象的引用。您无法从 DOM 引用中查找地图对象。

于 2012-05-30T15:10:25.450 回答