首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gmap3在不破坏整个地图的情况下应用新的中心位置

Gmap3在不破坏整个地图的情况下应用新的中心位置
EN

Stack Overflow用户
提问于 2012-07-31 13:50:52
回答 3查看 9.6K关注 0票数 3

我正在和gmap3周旋,设法让第一个任务工作起来。使用经纬度显示地图。

我的javascript看起来像

代码语言:javascript
运行
复制
  $('#map_canvas').gmap3(
                    {
                        action: 'init',
                        options: {
                            center: [x,y],
                            zoom: 12,
                            mapTypeId: google.maps.MapTypeId.ROADMAP,
                            mapTypeControlOptions: {
                                mapTypeIds: []
                            }
                        }
                    },
                    {
                        action: 'addMarkers',
                        radius: 100,
                        markers: GetMarkers(),
                        clusters:
                        {
                            0:
                                {
                                    content: '<div class="cluster cluster-3">CLUSTER_COUNT <div class="cluster-3text">Stops</div> </div>',
                                    width: 66,
                                    height: 65
                                }
                        },
                        marker:
                        {
                            options:
                            {
                                icon: new google.maps.MarkerImage('../img/marker.png', size, origin, null, null)
                            },
                            events:
                            {
                                mouseover: function (marker, event, data) {
                                                                        getArrivalsAndStop(marker, event, data);
                                },
                                mouseout: function () {
                                    $(this).gmap3({ action: 'clear', name: 'overlay' });
                                }
                            }
                        }
                    });

这将按照我想要的方式加载地图。我的下一步是能够应用新的lat & long。我如何才能做到这一点,而不破坏整个地图,并重新创建它每次?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-31 14:05:57

来自the documentation:

此示例使用地址解析的结果执行map.setCenter,未指定target,因为这是映射。

代码语言:javascript
运行
复制
$('#test').gmap3(
{ 
  action: 'getLatLng',
  address: '2 bis rue saint antoine, eguilles',
  callback: function(result){
    if (result){
      $(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]});
    } else {
      alert('Bad address 2 !');
    }
  }

});

因此,如果您知道坐标并且不需要使用地理编码器,那么它将是:

代码语言:javascript
运行
复制
     $(this).gmap3({action: 'setCenter', args:[ new google.maps.LatLng(latitude, longitude) ]});
票数 1
EN

Stack Overflow用户

发布于 2012-12-18 00:52:00

我正在使用jquery gmap3 plugin

如果你想在初始化地图后调用setCenter,而不需要重新加载整个地图,你可以这样做:

代码语言:javascript
运行
复制
$('#mymap').gmap3('get').setCenter(new google.maps.LatLng(48.706685,-3.486694899999975))

$('#mymap').gmap3('get')是这里的神奇之处,我认为它给了你真正的谷歌地图对象。

我很难发现这一点,所以我希望它能帮助其他人。

票数 9
EN

Stack Overflow用户

发布于 2014-05-21 12:05:24

有点太晚了,但我使用的是列表和地图(谷歌地图类型)。希望能有所帮助

下面是我是如何实现它的

代码语言:javascript
运行
复制
$(document).delegate('#inner_list li', 'click', function () {
var id = $(this).attr('data-id');




$("#map-canvas").gmap3({
    get: {
        name:"marker",
        id: id,
        all: true,
            callback: function(objs){
                $.each(objs, function(i, obj){
                obj.setIcon("http://www.markericon.com");
                var newLL = obj.getPosition()
                $('#map-canvas').gmap3('get').panTo(newLL)


                });
            }
  }
});

});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11733933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档