0

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

我的想法是在我的网站中使用谷歌地图,就像 flightradar24.com 一样,带有指向这些加油站地址的图钉。当点击每一个时,会出现一个气球,其中包含有关汽油和柴油质量的信息。

其他选项是单击图钉时,转到没有地图的另一个页面,显示更详细的信息。

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

如何做到这一点?

4

2 回答 2

1

另一个对编码非常简单的选择是使用 Google Fusion Tables。有关基础知识,请参见此处。本质上,您在 Google Drive 中使用加油站的纬度/经度制作一个 Fusion Table(如电子表格),然后发送一个简单的 Javascript 调用来获取它并将其显示在您的页面上。信息窗口和点的所有样式都可以在 Fusion Table 页面上完成,无需任何代码。

很难用 Fusion Tables 模拟 flightradar24 网站,但从你的帖子来看,我认为你需要的不仅仅是 Fusion Tables 所能提供的。

于 2013-03-01T16:46:22.050 回答
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 文件夹有一些详细信息,但目前这些页面似乎无法正确呈现给我。

要使用地图 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

于 2013-02-27T18:49:59.477 回答