我的网站上有关于加油站的数据,包括汽油质量和这些站点的GPS位置。
我的想法是在我的网站内使用谷歌地图,就像flightradar24.com一样,引脚指向那些加油站的地址。当点击这些中的每一个时,气球会显示有关燃气和柴油质量的信息。
其他选项是单击引脚时,转到另一个没有地图的页面,显示更详细的信息。
我们可以用kml或javascript命令来做,但是怎么做? Kml是通过我的服务器的php调用插入的,还是由js插入的?
如何实现这一目标?
答案 0 :(得分:1)
编码方面的另一个选择是使用Google Fusion Tables。有关基础知识,请参阅here。基本上,您使用加油站的Lat / Longs在Google云端硬盘中制作Fusion Table(如电子表格),然后发送简单的Javascript调用以获取它并将其显示在您的页面上。 Infowindows和点的所有样式都可以在Fusion Table页面上没有任何代码的情况下完成。
使用Fusion Tables模拟flightradar24网站会很困难,但是从你的帖子中我认为你需要的不仅仅是Fusion Tables给你的东西。
答案 1 :(得分:0)
假设您使用的是最新版本的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/)的链接。查看示例文件夹以获取一些简单示例。 docs文件夹有一些细节,但这些页面目前似乎没有正确呈现给我。
要使用maps API显示KML图层,您需要google服务器(即托管在公共服务器上)才能访问目标KML图层。在那之后,这段代码应该让你进入球场:
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