0

Я использую geoJSON в качестве источника данных для Карт Google. Я хочу использовать пользовательские маркеры из спрайта, меняя только значокОригина.Пользовательский маркер с Sprite от Geojson в Картах Google

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 
     } 
}); 
}); 

GeoJSON (частичные)

 "properties": { 
         "id-intern": "123", 
         "title": "Marker Title", 
         "content": "lorem ipsum", 
         "origin": "0, 100" 
        }, 

Видит ли кто-нибудь ошибку в моем подходе?

Спасибо.

+0

'var iconOrigin = 'новый google.maps.Point (' + origin + ')';' почему это строка? если это не просто 'new google.maps.Point (origin);' – Craicerjack

+1

Спасибо @Craicerjack! см. мой ответ ниже – 01241

ответ

1

Спасибо @Craicerjack, чтобы показать трек! Таким образом, это работает.

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 
     } 
}); 
}); 

и geoJSON с двумя отдельными значениями (НОМЕРА!).

 "properties": { 
         "id-intern": "123", 
         "title": "Marker Title", 
         "content": "lorem ipsum", 
         "iconoriginx": 0, 
         "iconoriginy": 100 
        }, 
Смежные вопросы