我正在和gmap3周旋,设法让第一个任务工作起来。使用经纬度显示地图。
我的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。我如何才能做到这一点,而不破坏整个地图,并重新创建它每次?
发布于 2012-07-31 14:05:57
来自the documentation:
此示例使用地址解析的结果执行map.setCenter,未指定target,因为这是映射。
$('#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 !');
}
}
});
因此,如果您知道坐标并且不需要使用地理编码器,那么它将是:
$(this).gmap3({action: 'setCenter', args:[ new google.maps.LatLng(latitude, longitude) ]});
发布于 2012-12-18 00:52:00
我正在使用jquery gmap3 plugin。
如果你想在初始化地图后调用setCenter,而不需要重新加载整个地图,你可以这样做:
$('#mymap').gmap3('get').setCenter(new google.maps.LatLng(48.706685,-3.486694899999975))
$('#mymap').gmap3('get')是这里的神奇之处,我认为它给了你真正的谷歌地图对象。
我很难发现这一点,所以我希望它能帮助其他人。
发布于 2014-05-21 12:05:24
有点太晚了,但我使用的是列表和地图(谷歌地图类型)。希望能有所帮助
下面是我是如何实现它的
$(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)
});
}
}
});
});
https://stackoverflow.com/questions/11733933
复制相似问题