Googlemaps Javascript API KML layer - Using Open charge map
Googlemaps Javascript API KML layer - Using Open charge map api?
嘿伙计们,我正在尝试在我自己的基于 PHP 的网站上为我的谷歌地图创建一个 KML 图层。
我想使用的 API 的 URL 似乎对我不起作用。可以在此处找到该 API。http://openchargemap.org/site/develop/api。它用于在地图上显示的电动汽车充电站。
当使用其他 API 和谷歌示例时,它们与我的代码一起工作,使用我需要的代码将不起作用。
var kmlLayer = new google.maps.KmlLayer({
url: 'http://api.openchargemap.io/v2/poi/?output=kml&countrycode=GB&maxresults=500',
suppressInfoWindows: true,
map: map
});
上面的代码在我的初始化地图函数中。
我已经为网址尝试了 API 的不同变体,但它们都不起作用。上面的示例适用于输出设置为 KML 时最多为 500 的英国结果。
我注意到可能有用的是,当将此 API 输入浏览器并将输出为 KML 时,它会作为无法识别的文件在本地下载,而开发人员页面上的谷歌示例和其他 API 直接下载为 KML。
使用记事本++打开时无法识别的文件是我想要的KML功能,可以保存为可以这样上传和使用KML。这让我认为Opencharge地图API可能有问题。但我对此都是新手,所以任何帮助都值得赞赏!
谢谢大家!
KML 图层 Google Devlopers 页面
KmlLayer
有getStatus()
方法,在您的情况下返回 FETCH_ERROR
.这意味着谷歌 api 无法为您下载 KML。他们使用自己的服务器连接到Opencharge api并下载KML,因此很难确定原因是什么。但是,即使您尝试自己下载 KML 文件,上传并从服务器加载,您也会收到INVALID_DOCUMENT
错误,这意味着该文件不是有效的 KML,或者谷歌地图 API 无法解析它。您可以在谷歌地图js api文档中查看可能的状态列表。
所以是的,API 肯定有问题,而不是你的代码。您可以做的是在服务器上创建一个脚本,该脚本将加载 KML,对其进行解析,然后创建一个有效的 KML,然后将其提供给 API。因此,您需要:
- 从服务器加载 URL 并将其解析为 XML(KML 采用 XML 表示法)。这是一个如何在 php 中执行此操作的示例。
- 从解析的 XML 创建您自己的有效 KML 文件,该文件仅包含位置坐标和任何必要的数据。
- 使脚本返回此新创建的 KML。
-
加载脚本的 url 而不是原始 API,例如:
var kmlLayer = new google.maps.KmlLayer({ url: 'http://yourserver/yourscript&optionalparameters', suppressInfoWindows: true, map: map });
- 直接下载文件,而不是从window.open(url)
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 如何通过引用var Using DataTables来进行分页或排序
- 如何将PDF作为二进制文件传递到window.open()
- 为什么window.open不打开一个以变量形式给出的链接
- 如何在`window.open`之后执行回调
- Object.prototype using 'this'
- Windows.Open 在 window.Location 工作时不起作用
- 在page.open()-PhantomJS中无法访问全局变量
- javascript window.open将无法在Chrome控制台上工作
- window.open根据动态内容自动调整高度和宽度
- using LocalStorage ionic 2
- jQuery Replacing, Using arrays
- window.open使页面向上滚动
- Using jQuery with classes from ES6
- Dropdownlist using javascript
- Googlemaps Javascript API KML layer - Using Open charge map
- UIWebview open URL in mobile safari using javascript
- Using Javascript Window.open
- open a particular type of file using input of type="fil