我正在使用Google Maps API来构建一个包含标记的地图,但我希望一个标记可以与其他标记脱颖而出。我认为最简单的做法是将标记的颜色改为蓝色而不是红色。这是一件简单的事情吗?或者我必须以某种方式创建一个全新的图标?如果我必须创建一个新图标,那么最简单的方法是什么?如何更改Google地图标记的颜色?
回答
由于地图V2已被弃用,你可能感兴趣的V3地图:https://developers.google.com/maps/documentation/javascript/markers#simple_icons
对于V2地图:
http://code.google.com/apis/maps/documentation/overlays.html#Icons_overview
您将有一组逻辑做所有的“常规”销,另一个使用定义的新标记执行“特殊”引脚。
请注意未来的读者:这是针对已弃用的Google Maps API v2。如果你使用v3,那么你需要去别处看看。 – priestc 2013-08-26 21:33:45
MapIconMaker:谷歌地图图书馆v2的
的一种方法是使用MapIconMaker。有一个例子here。谷歌地图默认的图标是20像素宽和34像素高度,所以你可以使用这样的模仿:
var newIcon = MapIconMaker.createMarkerIcon({width: 20, height: 34, primaryColor: "#0000FF", cornercolor:"#0000FF"});
var marker = new GMarker(map.getCenter(), {icon: newIcon});
你甚至可以把它包装一些功能,使事情变得更简单的自己:
function getIcon(color) {
return MapIconMaker.createMarkerIcon({width: 20, height: 34, primaryColor: color, cornercolor:color});
}
这就是我个人用于创建所有标记的东西。我更喜欢选择改变一时兴起的颜色。
更新:默认图标的十六进制颜色是“#FE7569”。此外,您可以在标记上设置图像,而不是使用新图标创建新标记。所以,如果你想有一个功能来突出你可以像这样的东西去,用上面的功能:
function highlightMarker(marker, highlight) {
var color = "#FE7569";
if (highlight) {
color = "#0000FF";
}
marker.setImage(getIcon(color).image);
}
StyledMarker:谷歌地图图书馆V3
由于V2是由V3较早前我想更换我应该更新这个答案。我在V3 Utility Library here上创建了自定义标记库。它允许使用不同的颜色和形状,并且您还可以在标记上放置文字。它的工作原理是使用Google Charts API,该API具有创建Google Maps类型标记的方法。如果您想直接使用Google Charts API,请随时查看源代码。
但是,关于该库的事情是,它需要为您定义这些标记图像的可点击区域,因此,例如,带有文本的较长气泡将具有期望的可点击区域,如this example。
随着谷歌地图API,这样做可能是通过抓住一个自定义的图标集,像本杰明·基恩已经在这里创造了一个最简单的方法第3版:
http://www.benjaminkeen.com/?p=105
如果你把所有的在同一地点的地图页面的图标,你可以简单地通过使用相应的图标选项创建时,着色标记:
var beachMarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: 'brown_markerA.png'
});
这是超级简单,是我使用的方法为我正在工作的项目目前。
这个答案很棒。我很遗憾接受的答案是V2,但是很庆幸能够收到回报。谢谢! – 2013-08-26 19:49:31
就我个人而言,我认为Google Charts API生成的图标看起来不错,而且很容易动态定制。
见我上Google Maps API 3 - Custom marker color for default (dot) marker
答案,我发现最简单的方法是使用BitmapDescriptorFactory.defaultMarker()的documentation甚至有设置颜色的例子。从我自己的代码:
MarkerOptions marker = new MarkerOptions()
.title(formatInfo(data))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.position(new LatLng(data.getLatitude(), data.getLongitude()))
您不需要任何用于Google Maps v3的自定义库。
var pinColor = "FE7569";
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
new google.maps.Size(40, 37),
new google.maps.Point(0, 0),
new google.maps.Point(12, 35));
var marker = new google.maps.Marker({
position: new google.maps.LatLng(0,0),
map: map,
icon: pinImage,
shadow: pinShadow
});
从Matt Burns 此作品为2014年10月,但已被弃用。
不幸的是这个功能已被弃用[你可以在这里看到](https://developers.google.com/chart/infographics/)。这是一个令人失望的情况,这是不赞成使用的,我以前使用的版本MapIconMaker已经被弃用了。 – zerowords 2014-06-16 04:53:15
请注意,这不适用于https,仅适用于http。坏消息! – JoeGalind 2016-08-26 22:18:01
@JoeGalind在取色时需要加密吗?我的意思是,我认为没有使用'http'的安全风险,除非它暴露了我不知道的标题 – 2017-12-13 02:42:59
- 1. 如何更改Google地图中标记的颜色?
- 2. 更改Google地图V2中的标记颜色
- 3. 如何更改地图框中点击标记的标记颜色和图标?
- 4. 更改Google地图标记
- 5. 如何更改谷歌地图API中标记的颜色3
- 6. 如何更改角度2谷歌地图标记颜色?
- 7. 如何更改google map api可拖动标记的颜色?
- 8. 如何在Google地图上设置不同颜色的标记?
- 9. 如何更改Gmap标记颜色?
- 10. 在地图上更改Google徽标的颜色
- 11. 更改Google静态地图中的标签颜色
- 12. 如何在swift中选择时更改google maps标记颜色?
- 13. 如何更改Google地图上特定道路的颜色?
- 14. 如何更改Google地图API中每种类型的地图标记颜色v3
- 15. 如何更改Google Maps API V3中的图标颜色?
- 16. 更改谷歌地图标记的颜色取决于变种
- 17. 如何动态更改Google地图标记图标
- 18. 如何更改Google地图标记图标?
- 19. 更改高地图地图颜色
- 20. 如何更改Google地图上所有地块的标记图标?
- 21. 如何更改光标颜色而不更改文字颜色?
- 22. Google地图:如何更改标记的z索引?
- 23. 动态更改在Google地图上绘制的圆的颜色
- 24. 无法从PHP文件更改Google地图标记的图标
- 25. Mapbox for Android:更改标记图标的颜色
- 26. 更改google默认方向图颜色
- 27. SWIFT - UITableViewCellAccessoryType更改复选标记颜色
- 28. 更改颜色vs2008断点标记
- 29. 更改Netbeans html标记高亮颜色
- 30. 在标记上更改颜色
你可能想从昨天检查这个帖子:http://stackoverflow.com/questions/2467720/how-to-change-color-of-marker-in-google-map – 2010-03-18 20:06:53
或者更好的帖子http: //stackoverflow.com/questions/7095574/google-maps-api-3-custom-marker-color-for-default-dot-marker – Faizan 2013-11-05 10:50:26