Javascript 从JSON文件中获取特定信息

Javascript 从JSON文件中获取特定信息,javascript,html,json,angularjs,google-maps,Javascript,Html,Json,Angularjs,Google Maps,我正在编写一个应用程序,要求用户点击一个位置,然后通过谷歌地图将他们指向该位置。我有数千个位置以JSON格式存储。我想能够单击位置的名称,并让应用程序从文件中提取坐标。到目前为止,我有这个代码 HTML 问题是您没有将坐标放在href中,它们在href的引号之外 <a href="http://maps.google.com/?q=" + {{site.Point.coordinates}}> 不要连接和(通常)使用ng href: <a ng-href="http://m

我正在编写一个应用程序,要求用户点击一个位置,然后通过谷歌地图将他们指向该位置。我有数千个位置以JSON格式存储。我想能够单击位置的名称,并让应用程序从文件中提取坐标。到目前为止,我有这个代码

HTML


问题是您没有将坐标放在href中,它们在href的引号之外

 <a href="http://maps.google.com/?q=" + {{site.Point.coordinates}}>
不要连接和(通常)使用
ng href

<a ng-href="http://maps.google.com/?q={{site.Point.coordinates}}">{{site.name}}</a>

href
属性中使用像
{{{thing}}
这样的角度标记,如果用户在Angular有机会用其值替换
{{thing}
标记之前单击该链接,则会使链接指向错误的URL


但是,确实不需要在
ng repeat
中使用
ng href
,因为它必须先编译。您仍然可以在这里使用
href

我不知道这是否是最好的解决方案,但我可能会制作一个包装函数,您可以使用它来代替模板中的原始{{site.Point.coordinates}

使其以“site”作为参数,并以这种方式返回坐标。甚至可以让它构建整个链接,这样您就可以在控制器而不是视图中拥有所有这些内容

你就不能这么做吗

var clength=location.Point.coordinates.split[',']

然后

if(clength[clength.length-1]=“0”)


而不是所有难以理解的子字符串内容?

这部分是错误的。不要在括号中包含URI!谢谢,这修复了它不加载链接的问题。但我想弄清楚的是如何让它加载一个坐标。因为{site.Point.coordinates}}是几千个不同的坐标。@Pak在
ng repeat
中这不是问题,因为元素在编译之前不可能存在anyway@charlietfl好的,这可能会提高性能。但是我仍然更喜欢第二种语法(在{{}}内部没有连接会更好)@IanPennebaker您误解了数据。每个对象都有一组cordinate。如果您试图做一些与html中显示的不同的事情,那么对于我遇到的另一个问题来说,这并不清楚。谢谢如果项目中有lodash,还可以使用它的.last()方法获取数组中的最后一项。:)泰利,你好!
 <a href="http://maps.google.com/?q=" + {{site.Point.coordinates}}>
<a href="http://maps.google.com/?q={{site.Point.coordinates}}">
<a href="{{'http://maps.google.com/?q=' + site.Point.coordinates}}">
<a ng-href="http://maps.google.com/?q={{site.Point.coordinates}}">{{site.name}}</a>