我想使用谷歌地图显示页面上2个地点之间的距离。
所以我发现了如何编写URL,但我不知道如何解码响应并在我的网站上显示?这是我到目前为止所拥有的:
string distancematrix = "http://maps.googleapis.com/maps/api/distancematrix/json? origins=34746+Florida&destinations=Universal+Studios+Florida|Orlando+Internation+Airport&mode=driving&units=imperial&sensor=false";
Json.Write(distancematrix, Response.ToString);
我可以使用@命令将每个结果放入页面吗?
谢谢,加文
答案 0 :(得分:0)
这是一个(简化的)示例cshtml页面,它从外部文件而不是外部站点获取数据,但它可能对您有所帮助:
@{
var json = File.ReadAllText(Server.MapPath("~/TestJSON.json"));
var data = Json.Decode(json);
}
<html>
<head>
</head>
<body>
<p>
@data.destination_addresses <br/>
@data.origin_addresses <br/>
@data.rows <br/>
@data.status
</p>
</body>
</html>
我不确定(因为我谈到以我以前不习惯的方式编写的JSON语法时有点愚蠢),但似乎你使用括号(即“[”和“]”) )建议使用数组?
如果以这种方式访问数组,它可能如下所示:
@{
var json = File.ReadAllText(Server.MapPath("~/TestJSON.json"));
var data = Json.Decode(json);
var i = 0;
}
<html>
<head>
</head>
<body>
<p>
@{
while(i < data.destination_addresses.Length)
{
data.destination_addresses[i]; <br/>
i++;
}
}
</p>
</body>
</html>
请告诉我这是否有用,我们可以从那里开始。