this.dataLayer = new L.OSM.DataLayer(null);
this.dataLayer.options.code = 'D';
+
+ this.gpsLayer = new L.OSM.GPS({
+ pane: "overlayPane",
+ code: "G",
+ name: I18n.t("javascripts.map.base.gps")
+ });
},
updateLayers: function(layerParam) {
params.mlon = latLng.lng.toFixed(precision);
}
- var url = 'http://' + OSM.SERVER_URL + '/',
+ var url = window.location.protocol + '//' + OSM.SERVER_URL + '/',
query = querystring.stringify(params),
hash = OSM.formatHash(this);
var zoom = this.getZoom(),
latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(),
str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ?
- 'http://osm.org/go/' : 'http://' + window.location.hostname + '/go/',
+ window.location.protocol + '//osm.org/go/' :
+ window.location.protocol + '//' + window.location.hostname + '/go/',
char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~",
x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)),
y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)),
clickable: false
};
- this._object = object;
-
- if (this._objectLoader) this._objectLoader.abort();
- if (this._objectLayer) this.removeLayer(this._objectLayer);
+ this.removeObject();
var map = this;
this._objectLoader = $.ajax({
url: OSM.apiUrl(object),
dataType: "xml",
success: function (xml) {
+ map._object = object;
+
map._objectLayer = new L.OSM.DataLayer(null, {
styles: {
node: objectStyle,