这看起来应该有用吗?我想要生成从一个纬度/经度到另一个纬度/经度的方向。
var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(35.742149,139.337218);
wp[1] = new GLatLng(35.735347,139.328485);
var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();
// load directions
directions = new GDirections(dirMap);
directions.load("from: Waypoint1@21.742149,100.337218 to: Waypoint2@15.740815,100.3267");
地图加载,但指示不会进入。我也是这样试过的:
var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(32.742149,119.337218);
wp[1] = new GLatLng(32.735347,119.328485);
var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();
// load directions
directions = new GDirections(dirMap);
directions.loadFromWaypoints(wp);
同样的事情......地图但没有方向。非常感谢任何帮助,谢谢你提前!
答案 0 :(得分:1)
乍一看我的代码看不出任何明显的东西,所以我的第一个猜测是 GDirections 请求失败了(我还假设您已经检查了javascript错误日志对于任何错误,如果您还没有这样做,请使用工具/错误控制台。)
我建议你为你的GDirections对象添加一个错误处理程序,这会给你一些指示你的请求发生了什么:
GEvent.addListener(directions, "error", handleErrors);
并在handleErrors回调中查看:
directions.getStatus().code
与Geo Status Codes比较。
编辑:好的,我刚试了your code这里works perfectly。我只能假设您的网页上存在导致问题的其他问题。您可以在问题中发布链接,以便我们查看吗?
答案 1 :(得分:1)
检查状态(604)我在Google Maps API Reference尝试时得到了:
GDirections对象不能 计算点之间的方向 在查询中提到。这是 通常是因为没有路线 两点之间可用,或者 因为我们没有数据 在该地区进行路由。
这是我使用的代码(稍加修改):
$(function ()
{
if (GBrowserIsCompatible())
{
var wp = [new GLatLng(35.742149,139.337218), new GLatLng(35.735347,139.328485)];
var map = new GMap2(document.getElementById('map-canvas'));
map.setCenter(wp[0], 12);
map.setUIToDefault();
var marker = new GMarker(wp[1]);
map.addOverlay(marker);
var directions = new GDirections(map);
GEvent.addListener(
directions,
'error',
function ()
{
console.log(directions.getStatus().code);
}
);
directions.load('from: Waypoint1@21.742149,100.337218 to: Waypoint2@15.740815,100.3267');
}
});