如何将谷歌地图链接到一个div?

5
我已经在div上设置了一个谷歌地图(api v3)。 然后我想通过该div检索地图。
类似于这样做:
theMap = $('.myDiv').theGoogleMap;

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

7
也许对于原帖的发布者来说已经太晚了,但对于其他人可能会有所帮助。在自己解决问题之前,我也花了一些时间进行搜索。结果证明这是非常简单的。
假设包含地图的 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

希望能对您有所帮助。

1
这是正确的答案。此外,如果您正在使用jQuery,可以使用以下代码:$('#element')[0].gMap=originalMapObject; - dj50

2

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

      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


1

API 不支持该方向。在创建对象时,您必须在 JavaScript 中保留对对象的引用。您无法从 DOM 引用查找地图对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接