[英]Custom Marker with Sprite from Geojson in Google Maps
I'm using geoJSON as a data source for Google Maps. 我正在使用geoJSON作为Google Maps的数据源。 I want to use custom markers from a sprite, changing only the iconOrigin.
我想使用Sprite的自定义标记,仅更改iconOrigin。
map.data.setStyle(function(feature) {
var origin=null;
var iconUrl = 'library/css/marker-sprite.png';
var iconSize = new google.maps.Size(50, 50);
var iconAnchor = new google.maps.Point(25, 50);
var iconScaledSize = new google.maps.Size(150, 150);
if (feature.getProperty('origin')) {
origin = feature.getProperty('origin');
var iconOrigin = 'new google.maps.Point(' + origin + ')';
}
return ({
icon: {
url: iconUrl,
size: iconSize,
anchor: iconAnchor,
origin: iconOrigin,
scaledSize: iconScaledSize
}
});
});
The geoJSON (partial) geoJSON(部分)
"properties": {
"id-intern": "123",
"title": "Marker Title",
"content": "lorem ipsum",
"origin": "0, 100"
},
Does somebody see an error in my approach? 有人在我的方法中看到错误吗?
Thanks. 谢谢。
Thanks @Craicerjack to show the track! 感谢@Craicerjack展示曲目! This way it works.
这样工作。
map.data.setStyle(function(feature) {
var iconoriginx = null;
var iconoriginy = null;
var iconUrl = 'library/css/marker-sprite.png';
var iconSize = new google.maps.Size(50, 50);
var iconAnchor = new google.maps.Point(25, 50);
var iconScaledSize = new google.maps.Size(150, 150);
if (feature.getProperty('iconoriginy')) {
iconoriginy = feature.getProperty('iconoriginy');
iconoriginx = feature.getProperty('iconoriginx');
var iconOrigin = new google.maps.Point(iconoriginx,iconoriginy);
}
return ({
icon: {
url: iconUrl,
size: iconSize,
anchor: iconAnchor,
origin: iconOrigin,
scaledSize: iconScaledSize
}
});
});
and the geoJSON with two separated values (NUMBERS!). 和带有两个单独值(NUMBERS!)的geoJSON。
"properties": {
"id-intern": "123",
"title": "Marker Title",
"content": "lorem ipsum",
"iconoriginx": 0,
"iconoriginy": 100
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.