Я пытаюсь расширить класс маркера для создания маркера местоположения. Мой маркер местоположения состоит из внутреннего круга, который представляет местоположение пользователя и внешний круг, который представляет точность местоположения пользователя. Я расширяю класс, поскольку хочу показать множество мест пользователей, и я не хочу создавать 2 маркера для каждого пользователя.Проблема с всплывающим окном при расширении прокладок Маркер
У меня возникли проблемы с получением всплывающего окна. Две вещи:
- всплывающее окно не работает, т. Е. Никогда не появляется.
- можно связать всплывающее только (местоположение пользователей) внутренний круг, а не внешний круг (точность)
Вот звенеть, синий маркер стандартный круг всплывающего окна, зеленый мой расширенный маркер , всплывающее окно не работает. http://plnkr.co/edit/5tz538?p=preview
код:
L.LocationMarker = L.Marker.extend({
initialize: function (latlng, options) {
L.Marker.prototype.initialize.call(this, latlng);
this._accuracyCircle = L.circle(latlng, 0, {
color: options.color,
fillColor: options.color,
fillOpacity: 0.15,
weight: 2,
opacity: 0.5
});
this._locationMarker = L.circleMarker(latlng, {
color: options.color,
fillColor: options.color,
fillOpacity: 0.7,
weight: 2,
opacity: 0.9,
radius: 5
});
this._location = L.layerGroup([this._accuracyCircle, this._locationMarker]);
},
addTo: function (map) {
map.addLayer(this._location);
return this;
},
onAdd: function (map) {
this._map = map;
map.addLayer(this._location);
},
onRemove: function (map) {
map.removeLayer(this._location);
},
getLatLng: function() {
return this._locationMarker.getLatLng();
},
setLatLng: function (latlng) {
this._accuracyCircle.setLatLng(latlng);
this._locationMarker.setLatLng(latlng);
return this;
},
setAccuracy: function (accuracy) {
this._accuracyCircle.setRadius(accuracy ? accuracy : 0);
return this;
}
});
L.locationMarker = function (latlng, options) {
return new L.LocationMarker(latlng, options);
};