我是google map API的新手。我需要在谷歌地图数据层中放置一个标签。我需要了解是否可以编写任何javascript代码来解决这个问题?
new google.maps.Marker({
position: e.latLng,
map: map,
icon: {
path: resultPath,
fillColor: resultColor,
fillOpacity: .2,
strokeColor: 'white',
strokeWeight: .5,
scale: 10
}
});
从上面的代码而不是'map:map'我们可以使用任何图层吗?
答案 0 :(得分:0)
不,你不能,每个the documentation必须是google.maps.Map
或google.maps.StreetViewPanorama
个对象:
<强>地图
输入:Map | StreetViewPanorama
要显示标记的地图。
答案 1 :(得分:0)
google.maps.Data
图层不会接收常见的叠加对象(标记,折线,多边形,圆形,矩形)。它显示google.maps.Data.Feature
个对象或GeoJSON有效文字。
例如,您可以通过执行
向数据层添加标记var geoJsonFeature = {
type:'Feature',
geometry:{
type:'Point',
coordinates:[e.latLng.lng(), e.latLng.lat()]
}
}
google.maps.data.addGeoJson(geoJsonFeature);
关于标记的样式,您可以将数据层样式设置为
google.maps.data.setStyle(function(Feature) {
return {
icon: {
path: Feature.getProperty('resultPath'),
fillColor: Feature.getProperty('resultColor'),
fillOpacity: .2,
strokeColor: 'white',
strokeWeight: .5,
scale: 10
}
};
});
因此,对于您添加的每个数据层google.maps.data.Feature
,如果您希望标记具有不同的样式,则应事先将其路径和fillColor设置为
var geoJsonFeature = {
type:'Feature',
properties: {
path: resultPath,
fillColor: resultColor
},
geometry:{
type:'Point',
coordinates:[e.latLng.lng(), e.latLng.lat()]
}
}