首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Googlemaps Javascript API KML层-使用开放收费地图api?

Googlemaps Javascript API KML层-使用开放收费地图api?
EN

Stack Overflow用户
提问于 2016-04-26 14:49:29
回答 1查看 519关注 0票数 0

嘿,伙计们,我正试图在我自己的基于PHP的项目网站上为我的google地图创建一个KML层。

我想使用的API的URL似乎不适用于我。API可以在这里找到。http://openchargemap.org/site/develop/api。电动汽车充电站将在地图上展示。

当使用其他API和googles示例时,它们可以很好地处理我的代码,使用我需要的代码将无法工作。

代码语言:javascript
运行
复制
var kmlLayer = new google.maps.KmlLayer({
    url: 'http://api.openchargemap.io/v2/poi/?output=kml&countrycode=GB&maxresults=500',
    suppressInfoWindows: true,
    map: map
});

上面的代码在我初始化的地图函数中。

我为url尝试了不同的API变体,但它们都不起作用。上面的例子是UK结果,输出设置为KML,最多为500。

我注意到,当这个API以KML的形式输入浏览器时,它作为一个未被识别的文件在本地下载,当google示例在开发人员页面和其他API中直接作为KML下载时。

在用Notepad++打开时,未识别的文件是我想要的KML功能,它可以保存为KML,可以以这种方式上传和使用。这让我觉得Open电荷地图API可能有问题。但我对此一无所知,所以任何帮助都是非常感谢的!

谢谢你们!

KML层Google Devlopers页面

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-26 20:32:04

KmlLayergetStatus()方法,在您的示例中,该方法返回FETCH_ERROR。这意味着google很难为您下载KML。他们使用自己的服务器连接到Opencharge并下载KML,因此很难确定原因是什么。但是,即使您尝试自己下载KML文件,上传它并从服务器加载它,您也会得到INVALID_DOCUMENT错误,这意味着该文件无效,或者google无法解析它。您可以检查google映射js api文档中可能的状态列表。

所以是的,API肯定有问题,而不是您的代码。您可以做的是在服务器上创建一个脚本,该脚本将加载KML,解析它,并创建一个有效的KML,然后将其提供给API。所以,你需要:

  1. 从服务器加载url并将其解析为XML (KML采用XML符号)。是如何在php中这样做的一个例子。
  2. 从解析的XML创建自己的有效KML文件,只包含位置坐标和任何必要的数据。
  3. 让您的脚本返回这个新创建的KML。
  4. 加载脚本的url而不是原始API,例如: var kmlLayer = new google.maps.KmlLayer({ url: 'http://yourserver/yourscript&optionalparameters', suppressInfoWindows: true, map: map });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36868436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档