English 中文(简体)
Get google.maps. 图例
原标题:Get google.maps.Map instance from a HTMLElement

我有一个页上的现有地图。 我可以按照文件思路选择这一要素,以便获得超文本的java书写物体。 能否得到 go。 地图。 在地图绘制时绘制的地图,即该地图是否属于超文本正文物体或其原型的财产?

最佳回答

页: 1 页: 1 标 题 建造了谷歌地图标。 <代码>google.maps.Map is only a summaryper, which control DOM 用于查看地图的内容,该内容没有提及其包装。

如果你的问题只是范围,那么将map作为window物体的财产,从你网页上从任何地方都可以查阅。 可通过使用其中一种方法将<代码>地图作为全球:

 window.map = new google.maps.Map(..) 

 map = new google.maps.Map(...) //AVOID  var  
问题回答

页: 1 标 题 Element , 略微trick。

当你开始绘制地图标本时,你需要将物体储存在要素数据属性上。

Example:

$.fn.googleMap = function (options) {
    var _this = this;

    var settings = $.extend({}, {
        zoom: 5,
        centerLat: 0,
        centerLon: 0
    }, options);

    this.initialize = function () {
        var mapOptions = {
            zoom: settings.zoom
        };

        var map = new google.maps.Map(_this.get(0), mapOptions);
        // do anything with your map object here,
        // eg: centering map, adding markers  events

        /********************************************
         * This is the trick!
         * set map object to element s data attribute
         ********************************************/
        _this.data( map , map);

        return _this;
    };
    // ... more methods

    return this;
};

在你确定地图要素后,例如:

var mapCanvas = $( #map-canvas );
var map = mapCanvas.googleMap({
    zoom: 5,
    centerLat: 0,
    centerLong: 0
});
// ... add some pre-load initiation here, eg: add some markers
// then initialize map
map.initialize();

之后,你可以使用扫描仪,如:

var mapCanvas = $( #map-canvas );
$( .location ).on( click , function () {
    // google map takes time to load, so it s better to get
    // the data after map is rendered completely
    var map = mapCanvas.data("map");
    if (map) {
        map.panTo(new google.maps.LatLng(
            $(this).data( latitude ),
            $(this).data( longitude )
            ));
    }
});

通过使用这种方法,你可以在一页上有多种不同行为的地图。

我也存在同样的问题。 我想要做的是,在绘制地图之后,操纵地图。 我尝试了类似的东西(我认为这也将有助于你)。 我创立了职能(更像这样):

function load_map(el_id, lat, lng) {
  var point = new google.maps.LatLng(lat,lng);
  var myMapOptions = {
    scrollwheel:false,
    zoom: 15,
    center: point,
    mapTypeControl: true,
    mapTypeControlOptions: {
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
      position: google.maps.ControlPosition.RIGHT_TOP
    },
    navigationControl: true,
    navigationControlOptions: {
      style: google.maps.NavigationControlStyle.SMALL,
      position: google.maps.ControlPosition.LEFT_CENTER
    },
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById(el_id),myMapOptions);
  var marker = new google.maps.Marker({
    draggable:true,
    map: map,
    position: point
  });
  return({
    container:map.getDiv(),
    marker:marker,
    mapa:map
  });
}

这项职能是在要求它在某些集装箱内建立一个地图之后作出的。

var mapa = load_map( mapa_container , 53.779845, 20.485712);

制作地图时,功能将包括一些数据在内的物体。 在绘制地图本身之后,我可以简单地操纵每个地图上的标识,分别使用<条码>地图a<>/代码>物体,例如:

mapa.marker.setPosition(new google.maps.LatLng(20,30));
mapa.mapa.setCenter(new google.maps.LatLng(20,30));

这将把标志位置和中心地图改变给同一座标。 通知lng lat/code> 那么,价值观是不同的,同时要求发挥绘制地图的功能。

Hope that helps.

你在你开始绘制地图时树立了榜样。

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

你们在想做像打上标记、改变地点等事情时,都会利用这一榜样。 它不是超文本正文标。 但是,它有一个<代码>getDiv(>)方法,使你能够使用其运作的html要素。

map.getDiv(); // in this case it returns the element with the id  map_element 

If you are using Google-map component from the Polymer project, you can get the existing map Dom like this:

var map = document.querySelector( google-map );

一俟具备这一条件,即可通过以下途径查阅目前的地图:

var currentMapInstance = map.map;




相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签