如何把一个kml到谷歌地图通过我的网站或发送js命令


How to put a kml into Google maps through my website or send js commands?

我的网站上有关于加油站的数据,包括汽油质量的测量和这些加油站的gps位置。

我的想法是在我的网站里使用谷歌地图,就像flightradar24.com一样,用大头针指向那些加油站的地址。点击每一个按钮,就会出现一个气球,上面显示着汽油和柴油的质量信息。

另一个选项是当大头针被点击,去另一个页面没有地图,显示更详细的信息。

我们可以用kml或javascript命令来做,但是怎么做呢?Kml是由php调用插入从我的服务器还是由js?

如何实现这一点?

另一个非常简单的编码方法是使用Google Fusion Tables。请参阅此处了解基本知识。从本质上讲,你可以在Google Drive中制作一个融合表(类似于电子表格),其中包含加油站的纬度/长度,然后发送一个简单的Javascript调用来获取它并将其显示在你的页面上。Infowindows和点的所有样式化都可以在Fusion Table页面上不需要任何代码即可完成。

用Fusion Tables来模拟flightradar24网站是很困难的,但从你的帖子来看,我认为你不需要比Fusion Tables能给你的更多。

有几种方法可以做到这一点,假设您使用的是最新版本的Google Maps API。你可以选择
A)建立一个包含你需要的点和/或形状的KML文件,并显示在地图上
B)遍历你的位置列表(加油站),并使用标记管理器在地图上添加单个引脚。

任何一种解决方案都会很好地工作,这真的取决于你喜欢做什么。我想说,使用选项B可能更容易,从服务器获取JSON格式的位置数组,并使用标记管理器在地图上显示它们。然后,您可以在单击标记时显示其他标记或重定向。

JSON数组可以像

一样简单:
[
{title:'Station A', latitude: 38.91912, longitude: 7.123121},
{title:'Station B', latitude: 34.81291, longitude: 30.87173},
{title:'Station C', latitude: 31.00123, longitude: 13.184918}
]

这里是一个链接到MarkerManager脚本根(http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markermanager/)。查看示例文件夹以获取一些快速示例。文档文件夹有一些细节,但这些页面似乎不适合我渲染。

要使用地图API显示一个KML层,你需要你的目标KML层可以被google的服务器访问(即托管在公共服务器上)。在此之后,这段代码应该让您大致了解:

var map; // Reference to your map object you created with 'new google.maps.Map()'  
var url = http://url.to/your.kml;
var kml = new google.maps.KmlLayer(url);
kml.setMap(map);

要删除图层,只需使用以下代码(假设kml变量是对上面创建的KmlLayer的引用):

kml.setMap(null);

下面是Google Maps API文档中KmlLayer类的链接:https://developers.google.com/maps/documentation/javascript/reference?hl=fr#KmlLayer