我需要突出显示两个十字路口之间的一条街道。我发现了一年多前提出的类似问题(请参阅here),其中说Google,Bing等不通过其API提供街道数据。有没有人知道API中是否有任何变化,以及我是否可以从某个地方获取街道位置纬度/经度数据?
答案 0 :(得分:0)
我已经在API V2中完成了这个,但它不应该难以为V3重写它。
查看此网站http://www.fvs.de/anfahrt.php(德语),然后在地图下方的部分中点击“Weg in Karte zeigen”按钮(“在地图中显示”)。每个按钮突出显示地图中的另一条街道线。
这基本上是通过使用Google地图的方向对象来绘制地图中两个任意街道点之间的路线(例如,您的两个交叉点)。必须使用LatLng坐标对点进行编码。这是一个代码示例(如上所述,这是API V2):
function initMap() { // called by page onload event
if (GBrowserIsCompatible()) {
// Display the map, with some controls and set the initial location
gMap = new GMap2(document.getElementById("map_canvas"));
gMap.addControl(new GLargeMapControl());
// ...
gMap.setCenter(GLatLng(49.238326, 6.977761), 15);
// init directions object and attach listener to handle route loads from function highliteRoute()
gDir = new GDirections();
gPoly = null;
GEvent.addListener(gDir, 'load', function(){
gPoly = gDir.getPolyline();
gMap.addOverlay(gPoly);
// zoom & pan to poly
var polyBds = gPoly.getBounds();
var polyZoom = gMap.getBoundsZoomLevel(polyBds);
gMap.setZoom(polyZoom);
gMap.panTo(polyBds.getCenter());
});
}
}
function highliteRoute(){
if(gPoly!=null) gPoly.hide();
gDir.load('from: 49.313530,6.969109 to: 49.238326,6.977761', {getPolyline:true});
}