全部問候,標記縮放時的漂移位置
我開發了一些繪製兩點多義線(直線)的JavaScript代碼。
在zoom_changed事件中,我計算線中點的位置,並在該位置創建標記。
我注意到,隨着我進一步放大這些標記不斷從實際的中點漂移到線上!
這種技術有什麼問題(見下面的代碼)?
問候
function label() {
for(var i in links) {
if(links[i].label != null) {
links[i].label.setMap(null);
delete links[i].label;
}
if(links[i].view == view && map.zoom >= links[i].minZoom) {
var lat = (links[i].coords[0].lat() + links[i].coords[1].lat())/2.0;
var lng = 0.0;
var latLen = Math.max(links[i].coords[0].lat(), links[i].coords[1].lat()) - Math.min(links[i].coords[0].lat(), links[i].coords[1].lat());
var lngLen = Math.max(links[i].coords[0].lng(), links[i].coords[1].lng()) - Math.min(links[i].coords[0].lng(), links[i].coords[1].lng());
var slope = latLen/lngLen;
if(lngLen < 180.0)
lng = (links[i].coords[0].lng() + links[i].coords[1].lng())/2.0;
else
lng = (360.0 + (links[i].coords[0].lng() + links[i].coords[1].lng()))/2.0;
links[i].label = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(lat, lng),
icon: "http://chart.apis.google.com/chart?chst=d_text_outline&chld=FFFF66|11|h|FF6600|b|" + links[i].text
});
}
}
}