Google使用嵌入文本映射符号

时间:2014-11-03 08:54:34

标签: google-maps symbols

我想在谷歌地图上创建带有文字的符号,如下图所示,其中道路标有其名称,例如M1。

google maps example

此外,文本未预定义,因此我无法使用包含相应文本的存储图标。 关于谷歌如何创建这些符号的任何想法?

2 个答案:

答案 0 :(得分:0)

所以你想要添加地名?您可以使用API​​或我的地图创建自定义图标或标签吗?

如果您使用的是“我的地图”,这可能有所帮助:

https://support.google.com/mymaps/answer/3024931?hl=en

否则如果你正在使用API​​,那么试试这个:

var iconBase = 'https://maps.google.com/mapfiles/kml/shapes/';
var icons = {
  parking: {
    icon: iconBase + 'parking_lot_maps.png'
  },
  library: {
    icon: iconBase + 'library_maps.png'
  },
  info: {
    icon: iconBase + 'info-i_maps.png'
  }
};

function addMarker(feature) {
  var marker = new google.maps.Marker({
    position: feature.position,
    icon: icons[feature.type].icon,
    map: map
  });
}

https://developers.google.com/maps/tutorials/customizing/custom-markers

答案 1 :(得分:0)

这里的一个好主意是用后端的语言编写服务器端进程来渲染这个动态图像。

对于PHP,有:PHP GD

Perl(我的当前后端)有许多用于绘制图像的模块。

我确定你的后端是否有一些。

无论如何,您可以编写一些代码,给定一些GET变量将返回使用它们绘制的图像。

然后你只需要一个小函数来构建url:

function getImage(text,color) {
   return "example.com/draw/icon.php?text="+text+"&color="+color;
}

这将调用您的服务器端文件,该文件可以使用正确的标题返回图像。

您可能需要使用某种形式的缓存来生成这些,可能是在服务器端和客户端,具体取决于您的应用程序负载。