Google Maps API JSON 无法读取html_instructions
Google Maps Api JSON can't read html_instructions
我在阅读谷歌地图 API json 响应中的html_instructions时遇到问题,我怀疑这主要是我对处理 Json 对象不熟悉,但我无法找到可以帮助我的答案,所以我们开始了。
按照谷歌方向服务的例子,我在javascript中创建了一个calcRoute函数,该函数发布起点和终点位置,并以json格式接收驾驶说明列表,它在地图上绘制路线都很好。但是,当我想列出驾驶说明时,我可以生成包含每个步骤的距离和持续时间的步骤列表,但始终返回html_instructions的"未定义"。当我查看收到的 json 时,每个步骤都有一个带有文本的 html_instructions 属性,但我无法在代码中访问它。很简单,是的,所以我想,所以我错过了什么白痴的东西?
function calcRoute() {
var start = document.getElementById('start').value;
try {
var request = {
origin: start,
destination: bowenSense,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
parseJson(response);
directionsDisplay.setDirections(response);
}
else {
alert("Error: " + status);
}
});
}
catch (error) {
alert("Error: " + error);
};
}
function parseJson(response) {
for (i = 0; i < response.routes.length; i++) {
var route = response.routes[i];
for (j = 0; j < route.legs.length; j++) {
var leg = route.legs[j];
// Do something with leg attributes...
for (k = 0; k < leg.steps.length; k++) {
var step = leg.steps[k];
var distance = step.distance.text; // fine
var duration = step.duration.text; // fine
var instruction = step.html_instructions; // == undefined ?
alert("instruction: " + instruction);
var mode = step.travel_mode; // works
}
}
}
}
返回的示例 JSON,显示填充的html_instructions值
....
"steps" : [
{
"distance" : {
"text" : "0.4 mi",
"value" : 695
},
"duration" : {
"text" : "1 min",
"value" : 61
},
"end_location" : {
"lat" : 53.3590723,
"lng" : -1.5065088
},
"html_instructions" : "Head 'u003cb'u003ewest'u003c/b'u003e on 'u003cb'u003eBannerdale Rd'u003c/b'u003e toward 'u003cb'u003eNeedham Way'u003c/b'u003e",
"polyline" : {
"points" : "i~sdIjscHUvAi@vD[vAk@fC}@hDMf@[v@c@vAiA|Dy@dCuAzD[r@EJGLMXOTINQRUTYPSNOJQJSPOR"
},
"start_location" : {
"lat" : 53.3554115,
"lng" : -1.4983018
},
"travel_mode" : "DRIVING"
},
....
令人费解的是,html_instruction和travel_mode都是字符串值,一个有效,另一个无效,那么这是字符串内容的问题吗?html_instructions字符串有很多"''u**"(unicode?)编码字符,travel_mode是一组普通的旧大写字母?
任何这方面的帮助将不胜感激,并提前感谢。ps 如果这很重要,我正在使用最新版本的火狐浏览器。
似乎当你使用URL获取方向JSON时,你会得到一个html_instructions
作为step
的属性,但是使用JS API你会得到instructions
作为step
的属性。
你能看到如果你把alert("instruction: " + step.html_instruction);
会发生什么吗?
在使用谷歌地图 API 时,我在让 JSON 按照我想要的方式工作时遇到了很多麻烦 - 这是一个尝试很多不同事情的情况,直到一个人这样做才应该有所作为......
我得到了答案,它没有html_instructions说明。 var 指令 = step.html_instructions;== 未定义 ?
自 var 指令 = 步骤指令;它对我完美地工作,我不知道为什么"html_instructions"变成了"指令"
- RegExp无法读取HTML文件
- 读取HTML对象标记中的数据
- 从变量中读取html文本
- 使用cookie读取html对象的id
- 在Karma+Jasmine测试中读取HTML文件
- 如何使用javascript读取html“”标签中的所有href链接
- 读取 HTML 中包含.JS变量
- Java servlet 无法读取 html select 标记名称
- 使用 Java 脚本读取 HTML 表中输入标记中的值
- 通过 https 请求访问和读取 html/php 页面,由 htaccess apache2 Server 后面的 Q
- Ajax serialize() 方法没有读取 html 表单的所有数据字段
- 从控制器中的视图中读取 HTML 值
- 读取 HTML 并将文本设置为变量
- 如何通过javascript和代理简单地从任何URL读取html
- 如何在 C# Razor 视图中读取 HTML 标记值
- 我需要帮助让Javascript读取HTML表单,并将其分配给特定的数组
- 如何读取html表中复选框的值,该表是作为内部html动态插入到表单元格中的
- Chrome扩展,读取HTML元素的内容
- PHP:离线读取html文件
- Angular JS如何读取html页面中加载的css文件名