Javascript 检索城市位置谷歌地图API

Javascript 检索城市位置谷歌地图API,javascript,google-maps-api-3,google-fusion-tables,Javascript,Google Maps Api 3,Google Fusion Tables,我想用谷歌地图检索世界上每个城市的经纬度。 我使用: 我不知道如何从数组变量行获取坐标。如果有人知道,谢谢你的帮助 这张表中的数据似乎有问题 当我查看地图上没有标记时,不知何故,几何体没有被正确识别 e、 g.特定行应如下所示: ["Lima", "<Point><coordinates>", "1", "National and provincial capital", "PE", "PER-LIM"] ["Lima",{"geometry":{"type":"Po

我想用谷歌地图检索世界上每个城市的经纬度。 我使用:


我不知道如何从数组变量行获取坐标。如果有人知道,谢谢你的帮助

这张表中的数据似乎有问题

当我查看地图上没有标记时,不知何故,
几何体
没有被正确识别

e、 g.特定行应如下所示:

 ["Lima", "<Point><coordinates>", "1", "National and provincial capital", "PE", "PER-LIM"]
["Lima",{"geometry":{"type":"Point","coordinates":[-77.0450036007242,-12.0819959357647]}},"1","National and provincial capital","PE","PER-LIM"]
正如您看到的,第二列与您的回答不同

我无法告诉您为什么会发生这种情况,可能是因为高度几何的KML中使用了
NaN

<Point><coordinates>-77.0450036007242,-12.0819959357647,NaN</coordinates></Point>
-77.0450036007242,-12.0819959357647,南
然而,为了进行测试,我制作了一份表格的副本,通过魔法,副本似乎工作正常:


因此,您可以尝试相同的方法…创建表的副本(不要使用我的副本,我会在某一天删除该表)

因为该表中的数据似乎有问题

当我查看地图上没有标记时,不知何故,
几何体
没有被正确识别

e、 g.特定行应如下所示:

 ["Lima", "<Point><coordinates>", "1", "National and provincial capital", "PE", "PER-LIM"]
["Lima",{"geometry":{"type":"Point","coordinates":[-77.0450036007242,-12.0819959357647]}},"1","National and provincial capital","PE","PER-LIM"]
正如您看到的,第二列与您的回答不同

我无法告诉您为什么会发生这种情况,可能是因为高度几何的KML中使用了
NaN

<Point><coordinates>-77.0450036007242,-12.0819959357647,NaN</coordinates></Point>
-77.0450036007242,-12.0819959357647,南
然而,为了进行测试,我制作了一份表格的副本,通过魔法,副本似乎工作正常:


因此,您可以尝试相同的方法…创建表的副本(不要使用我的副本,我会在某一天删除该表)

您的数据源有问题。看看你的脚本,你正在做一个
select。。。从1ld4KaHF-E6UbFoN_VdCUp_s0_liEE7poZ7v4OmU
。所以我搜索了一下,找到了融合表。看着这些信息,我发现它是从中复制来的。我制作了一个JSFIDLE并在回调函数中放置了一个调试器。当脚本从您的问题中的表中选择时,
geometry
属性未定义,因为
行[i][1]
不是JSON,而是始终是格式错误的XML
,无论城市是什么。但是,如果您将脚本切换为从
1TJK4FH8AU5IIHMDMVJOHCAOU9I5EB6XUKXI30
(原始融合表,而不是您正在使用的副本)中进行选择,则以下代码可以很好地为您提供坐标:
行[i][1]['geometry']['coordinates'][1]
。因此,在
requestCities
中,使用以下查询代替现有查询:

var query = 'SELECT CITY_NAME, geometry, POP_RANK, STATUS, FIPS_CNTRY, GMI_ADMIN FROM ' + '1TJk4Fh8AU5IIhMDmvJOhcAOu9I5EB6xu9uKxI30' + " WHERE 'POP_RANK' \< 5";
var query='SELECT CITY_NAME、geometry、POP_RANK、STATUS、FIPS_CNTRY、GMI_ADMIN FROM'+'1TJk4Fh8AU5IIhMDmvJOhcAOu9I5EB6xu9uKxI30'+'其中'POP_RANK'\<5';

您的数据源有问题。看看你的脚本,你正在做一个
select。。。从1ld4KaHF-E6UbFoN_VdCUp_s0_liEE7poZ7v4OmU
。所以我搜索了一下,找到了融合表。看着这些信息,我发现它是从中复制来的。我制作了一个JSFIDLE并在回调函数中放置了一个调试器。当脚本从您的问题中的表中选择时,
geometry
属性未定义,因为
行[i][1]
不是JSON,而是始终是格式错误的XML
,无论城市是什么。但是,如果您将脚本切换为从
1TJK4FH8AU5IIHMDMVJOHCAOU9I5EB6XUKXI30
(原始融合表,而不是您正在使用的副本)中进行选择,则以下代码可以很好地为您提供坐标:
行[i][1]['geometry']['coordinates'][1]
。因此,在
requestCities
中,使用以下查询代替现有查询:

var query = 'SELECT CITY_NAME, geometry, POP_RANK, STATUS, FIPS_CNTRY, GMI_ADMIN FROM ' + '1TJk4Fh8AU5IIhMDmvJOhcAOu9I5EB6xu9uKxI30' + " WHERE 'POP_RANK' \< 5";
var query='SELECT CITY_NAME、geometry、POP_RANK、STATUS、FIPS_CNTRY、GMI_ADMIN FROM'+'1TJk4Fh8AU5IIhMDmvJOhcAOu9I5EB6xu9uKxI30'+'其中'POP_RANK'\<5';

@geocodezip我也可以对你说同样的话,我给了你一个在网上重现准确错误的权限,但你不能,因为你登录了Facebook,你说“请其他人帮助”,那么为什么现在要和我的帖子争论呢?与其教用户必须做什么,不如把重点放在你的问题上。在编写问题时,您应该清楚地看到,
不是预期的响应,它是一个字符串而不是对象,因此尝试获取
['geometry']['coordinates']
必须在该字符串上失败。请记住,您的简短问题(如geocodezip在删除的问题中所要求的)应该是“为什么我没有从表中得到预期的响应”。发布更多不相关的代码并没有让你的问题变得更好。@Dr.Molle太有趣了。。。。。你也没有找到答案,对你来说也不明显!你为什么在这里为别人辩护,我不是在这里教任何人我只是带着一个问题来的,这就是所有的人!好吧,你一定是对的:注意,@Dr.Molle首先回答。。我们都得出了类似的结论,但我花了太多时间研究这个问题,所以没有给出答案一个小时前我找到了答案,但也许你丢了什么?@geocodezip我可以为你说同样的话,我让你可以在网上重现准确的错误,但你不能,因为你登录了Facebook,你说“请别人帮帮忙”,那么为什么现在要和我的帖子争论?而不是教用户他们该怎么做,你最好把注意力集中在你的问题上。在编写问题时,您应该清楚地看到,
不是预期的响应,它是一个字符串而不是对象,因此尝试获取
['geometry']['coordinates']
必须在该字符串上失败。请记住,您的简短问题(如geocodezip在删除的问题中所要求的)应该是“为什么我没有得到预期的响应?”