【发布时间】:2015-09-09 20:46:35
【问题描述】:
更新:Google 已于 2016 年 3 月 6 日修复了此错误 https://code.google.com/p/gmaps-api-issues/issues/detail?id=8003&q=apitype%3AJavascript3%20type%3ADefect&sort=-stars&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Internal%20Stars
当最短线穿过国际日期变更线时,我无法显示两点之间的最短线。有一个问题的说明:http://cars-suck.com/Test(放大和缩小显示谷歌在做什么。)
旧金山和东京之间的一条线应该穿过太平洋,因为那是最短的路径。相反,谷歌在北美、大西洋、亚洲等地划了一条线。
我应该改变什么以获得我想要的线路?
这是 .kml 文件的相关块:
<Placemark>
<styleUrl>#multiTrack</styleUrl>
<gx:Track>
<altitudeMode>clampToGround</altitudeMode>
<when>2014-09-17T07:25:06.875-07:00</when><gx:coord>-122.4167 37.7833 0</gx:coord>
<when>2014-09-18T12:06:42.745-07:00</when><gx:coord>139.6833 35.6833 0</gx:coord>
</gx:Track>
这是显示地图的脚本:
<script>
function initialize() {
var mapCanvas = document.getElementById('map_canvas');
var mapOptions = {
center: new google.maps.LatLng(21.3114, -179.9999),
zoom: 2,
mapTypeId: google.maps.MapTypeId.TERRAIN,
preserveViewport: true,
}
var map = new google.maps.Map(mapCanvas, mapOptions);
var kmlUrl = 'http://cars-suck.com/Test/Assets/gps_history.kml';
loadKmlLayer(kmlUrl, map);
}
function loadKmlLayer(src, map) {
var kmlLayer = new google.maps.KmlLayer(src, {
suppressInfoWindows: false,
preserveViewport: true,
map: map
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
完整的 .kml 文件在这里:cars-suck.com/Test/Assets/gps_history.kml
我可能已经失去了理智,但我相信这在 1 月份就可以正常工作。也许我依赖的东西已被弃用,或者我只是认为它有效。
更新:我并没有失去理智。有人在这里报告了类似的问题:productforums.google.com/forum/#!topic/maps/kQo4IcDRysk
在 stackoverflow 上:Google Maps mangling KML
还没有解决办法。
【问题讨论】:
标签: google-maps kml google-earth