将复杂图标添加到谷歌地图

时间:2010-10-09 15:37:20

标签: javascript google-maps icons

我需要在谷歌地图上代表db中某些设备的状态。每个设备都有它的位置和复杂的状态。像在线/离线/相机OK等等。对于每个状态,我需要在地图上的图标旁边绘制一个气泡(例如,如果设备在线则为绿色,如果相机在线,则为一个红色)。

例如,我有一些标记:

new google.maps.Marker({
                position: currLatLng,
                map: map,
                icon: image
            });

我需要这样的东西:

drawImageNextToTheMarker( “myImg”);

执行此操作的简易方法是什么?

或者有没有办法用地图上某个位置的图片绘制html表?

谢谢。

编辑:

我想到的一个解决方案是为每个具有透明背景的状态制作图像,并为每个状态绘制每个图像。这不是一个很好的解决方案,我会花一些时间制作这些图像,但这是目前最好的解决方案。

2 个答案:

答案 0 :(得分:1)

为每个州创建图标并向地图添加正确的图标可能最简单(只要您没有大量的变化)。

图标

  • icon_online_camera-on.gif
  • icon_online_camera-off.gif
  • icon_offline_camera-on.gif
  • icon_offline_camera-off.gif

为位置添加标记时添加正确的图标。


修改

根据新信息,这是另一个想法...


有专门的图标位置。也许/images/device_icons/

使用服务器端语言以一致的格式创建图像文件名

DEVICE-ID_ONLINE_CAMERA_OTHER-THING_LAST-THING.gif
3_1_0_1_3.gif // device - 3, online, camera off, other thing - 1, last thing -3

然后检查是否存在图标。

如果存在,请使用之前创建的版本,如果它不存在,请使用您用于创建图标的任何语言并保存。通过这种方式添加设备和状态很容易,如果你使用的是javascript,你就不会在每个页面加载上创建相同的图标

答案 1 :(得分:1)

我会回答我自己的问题: 以下是在标记旁边写标签的方法:

http://blog.mridey.com/2009/09/label-overlay-example-for-google-maps.html