Openlayers 3 OpenLayers 3可以正确渲染KML吗?

Openlayers 3 OpenLayers 3可以正确渲染KML吗?,openlayers-3,Openlayers 3,当我使用简单的在线演示()并放入一个KML文件时,它获得了正确的颜色,但忽略了所有的位置标记。使用Ubuntu+Chrome 我的需求非常基本——我想制作一个简单的网页,允许用户单击多个链接中的一个,然后呈现与该链接对应的KML。我希望使用OL3而不是Google My Maps+Maps,如果只是因为Google似乎需要信用卡等,才能使用他们的Javascript API 谢谢 看看这个 您应该能够拖放您提供的示例KML文件 问题不在于地点标记。对于OL3来说,地点标记是合适的。我的感觉是,

当我使用简单的在线演示()并放入一个KML文件时,它获得了正确的颜色,但忽略了所有的位置标记。使用Ubuntu+Chrome

我的需求非常基本——我想制作一个简单的网页,允许用户单击多个链接中的一个,然后呈现与该链接对应的KML。我希望使用OL3而不是Google My Maps+Maps,如果只是因为Google似乎需要信用卡等,才能使用他们的Javascript API

谢谢

看看这个

您应该能够拖放您提供的示例KML文件

问题不在于地点标记。对于OL3来说,地点标记是合适的。我的感觉是,在另一个示例中,您没有看到这些数据,因为样式是从KML读取的。从KML中读取样式并尝试将其放入OL3会打开一整罐蠕虫

因此,我建议首先使用:

formatKML = new ol.format.KML({extractStyles: false});

KML的定义是相当开放和广泛的。OpenLayers或任何其他库都不可能支持KML定义中的所有内容。您试图删除的KML是否可公开访问?或者,您可以提供一个摘录,其中包含OpenLayers无法读取的功能。顺便说一句我已经使用谷歌地图API很多年了,从来没有给过谷歌我的信用卡详细信息。您只需要注册,如果您需要的服务超过一定的门槛。感谢您的评论!如果我理解正确的话,这对OpenLayers 3或除谷歌地图以外的任何其他KML查看器都没有(必然)意义。KML是公开的。示例:顺便说一句,我想知道您是如何使用Maps API的。我在上遵循了他们的教程,第1步让我访问了Google开发者控制台,创建了一个API密钥,等等。很高兴知道另一种方法:)你需要一个API密钥。但是您不需要信用卡来获取API密钥。你有谷歌账户可以访问吗?然后创建一个空项目,启用谷歌地图API。我得带狗去散步。如果没有人能在明天给你回复的话,我会看看KML的。我不是地图API的超级粉丝。这是好事。但是OL提供了大量的特性和源代码。如果某些东西在谷歌地图中不起作用,你通常只能靠自己了。OL社区更好、更有用。另外,我过度使用Geoserver和WFS格式。在GoogleMapsAPI中不会有这种情况,我在问题的注释中专门为该文件编写了JSFIDLE。这是一个非常粗糙的示例,可能不适用于其他KML文件。我假设输入坐标是EPSG:4326,如示例所示。谢谢!它确实很好地接受了KML。所以听起来好像Maps恰好知道如何读取这个KML文件中的样式。归根结底,这不是我想要的——我不喜欢地图呈现信息的方式,我希望自己能控制它。听起来这可能是OL3的工作,是的。OL3的造型其实很好。对OL2有了很大的改进。可以根据要素的特性编写样式规则。