我正在开发一个应用程序,在该应用程序中,我需要显示一条消息,显示在用户单击路线上的某个位置后转向的位置,该位置借助 Google 地图上的方向突出显示。
有这个 Groute 类提供了很多信息,比如两个地方之间的距离、持续时间,但它没有提供有关方向的信息。
我正在开发一个应用程序,在该应用程序中,我需要显示一条消息,显示在用户单击路线上的某个位置后转向的位置,该位置借助 Google 地图上的方向突出显示。
有这个 Groute 类提供了很多信息,比如两个地方之间的距离、持续时间,但它没有提供有关方向的信息。
从 GRoute 中,您可以使用 .getStep(i) 获取 GRoute 中每个步骤的 GStep 对象。.getNumSteps() 告诉您 GRoute 中有多少个 GStep。
对于每个 GStep,您可以调用 .getDescriptionHtml() 它将返回该单个步骤的格式化描述。就像“在第一个路口右转进入A5099/Coronation St ”或“在环形交叉路口,从第三个出口驶入A6/Garstang Rd,前往Preston ”。
要将 GStep 与折线的特定顶点相关联,请扫描所有 GStep,查找具有小于或等于指定顶点的 getPolylineIndex() 的最后一个。像这样:
var v = 66; // The vertex you are looking for
var targetStep = route.getStep(0);
for (var j=0; j<route.getNumSteps(); j++) {
var step = route.getStep(j);
if (step.getPolylineIndex() < v) targetStep = step;
}
GLog.writeHtml(targetStep.getDescriptionHtml());
不要尝试解析 .getDescriptionHtml() ,因为结构的详细信息会不时发生变化,并且会根据路线所在的国家/地区和主机语言或区域设置而有所不同。