谷歌地图V3 - 如何将每个位置的标记更改为自定义图标
Google Maps V3 - How Do I Change Markers to Custom Icons for Each Location
在谷歌地图 API v3 示例中,此处的"复杂标记图标" - 仅显示所有位置的 1 个图标
https://developers.google.com/maps/documentation/javascript/examples/icon-complex
我是Javascript新手,如何将每个位置的图标更改为不同的图标(自定义)?
我已经通过其他问题阅读了有关此的内容,但仍然感到困惑。如果您可以解释对上述示例进行更改,那就太好了。我正在尝试根据该示例创建地图。
顺便说一句 - 这仅适用于桌面版本,目前不关心移动设备。
如果您从 geojson 文件加载数据,那么您将拥有 数据类(这是您使用地理空间数据层的地方) 查看最新的 exp api 参考
现在有了最新的实验版本,您可以将 setStyle() 与函数一起使用,根据每个点中定义的属性加载不同的图标。
变量地图是您定义 Google 地图容器和地图选项的位置。然后你可以按如下方式使用 setStyle:
map.data.setStyle(function(feature) {
return {
icon: 'http://URLTOYOURICON/' + feature.getProperty('PROPERTYNAME') + '.png',
};
});
您需要关注的部分是图像对象的创建
var image = {
url: 'images/beachflag.png',
// This marker is 20 pixels wide by 32 pixels tall.
size: new google.maps.Size(20, 32),
// The origin for this image is 0,0.
origin: new google.maps.Point(0,0),
// The anchor for this image is the base of the flagpole at 0,32.
anchor: new google.maps.Point(0, 32)
};
以及标记对象的创建
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
shadow: shadow,
icon: image,
shape: shape,
title: beach[0],
zIndex: beach[3]
});
请注意,标记对象是在 for 循环中创建的,每个标记使用完全相同的图像对象(如上所述)。 图像对象将分配给 icon
属性。
您可以创建一堆不同的图像对象。 这个特别指向"海滩旗.png"。 您可以有许多不同的图像对象指向不同的图像。
我建议将它们全部存储在一个数组中以便于访问。
然后,在创建标记时,可以添加逻辑以更改标记的 icon
属性,以使用您创建的任何图像对象。
相反,您可以在创建标记时动态创建图像对象。 如。
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
shadow: shadow,
icon: {
url: beach[4],
// This marker is 20 pixels wide by 32 pixels tall.
size: new google.maps.Size(20, 32),
// The origin for this image is 0,0.
origin: new google.maps.Point(0,0),
// The anchor for this image is the base of the flagpole at 0,32.
anchor: new google.maps.Point(0, 32)
};,
shape: shape,
title: beach[0],
zIndex: beach[3]
});
相关文章:
- 在标记mapbox.js上添加自定义图标
- 传单自定义标记图标缩放
- 如何将自定义图标添加到 JqGrid 顶级工具栏按钮
- 如何在 Electron for OSX 中打包自定义图标
- 如何使用传单为传单实时插件设置自定义图标
- 自定义选择框-选择选项时占位符中的数据图标未正确更新
- 全球API自定义标记图标
- 传单错误:对象函数没有方法'createIcon'在LayerGroup中创建自定义图标标记时
- 带有Markercluster自定义图标样式的角形传单
- 如何在 ng 映射标记(角度)中使用自定义图标
- 我如何使谷歌地图不更改标记的自定义图标大小
- 动画自定义电池填充图标
- KendoUI 使用图标而不是自定义命令的按钮
- 自定义共享图标 - 获取URL,编码uri和替换
- 如何在 gmap v3 中对图标使用自定义颜色
- 自定义图标行为是否在JQueryMobile 1.4(Alpha / Beta / RC-1)中发生了变化
- 乘法自定义帖子上的不同图标(acf +谷歌地图)
- 谷歌地图V3 - 如何将每个位置的标记更改为自定义图标
- 如何使用地图地点创建自定义图标.js
- 在视网膜显示中使用谷歌地图的自定义图标