我使用gMap在我的网站内的谷歌地图上指示办公室标记,如下所示:
var mapMarkers = [{
address: "36.2929949,59.5837028501",
html: "<strong style='float:right'>Blah</strong><br>Blah, Blah Blah<br><br><a href='#' onclick='mapCenterAt({latitude: 36.2929949, longitude: 59.5837028501, zoom: 19}, event)'>[+] Center</a>",
icon: {
image: "images/pin.png",
iconsize: [33, 33],
iconanchor: [33, 33]
}
}];
// Map Initial Location
var initLatitude = 36.2929949;
var initLongitude = 59.5837028501;
// Map Extended Settings
var mapSettings = {
controls: {
panControl: true,
zoomControl: false,
mapTypeControl: true,
scaleControl: true,
streetViewControl: false,
overviewMapControl: true
},
scrollwheel: false,
markers: mapMarkers,
latitude: initLatitude,
longitude: initLongitude,
zoom: 19
};
var map = $("#googlemaps").gMap(mapSettings),
mapRef = $("#googlemaps").data('gMap.reference');
// Map Center At
var mapCenterAt = function (options, e) {
e.preventDefault();
$("#googlemaps").gMap("centerAt", options);
}
但是当我感觉它经过纬度和经度时。我不能把它固定在我想要的地方。
我无法确定这两点之间的关系。 任何帮助将不胜感激。
答案 0 :(得分:1)
这两个latlngs之间的差异非常小(当我说小时我说的是千分尺或纳米)。
您可以假设1米的精度为5位小数,差值为0.0000000001将没有可见效果,因为没有可能代表差异的缩放级别。
答案 1 :(得分:0)
提供坐标,而不是包含坐标的地址。
map.addMarker({
lat: -12.043333,
lng: -77.028333,
title: 'Lima',
click: function(e) {
alert('You clicked in this marker');
}
});
所以这应该有效:
var mapMarkers = [{
lat: 36.2929949,
lng: 59.5837028501",
html: "<strong style='float:right'>Blah</strong><br>Blah, Blah Blah<br><br><a href='#' onclick='mapCenterAt({latitude: 36.2929949, longitude: 59.5837028501, zoom: 19}, event)'>[+] Center</a>",
icon: {
image: "images/pin.png",
iconsize: [33, 33],
iconanchor: [33, 33]
}
}];
当您提供“地址”时,GMaps使用地理编码器,它将返回最近的反向地理编码器结果,当您更改坐标的分辨率时,结果会发生变化。
Google Maps API v3 reverse geocoder results for the two points of interest