X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/030b7c4052554d78b142daf4dac7fbf200ab73ad..5b42c683f5e5b401a935182a9ea2e30f1a03c22e:/app/assets/javascripts/map.js.erb
diff --git a/app/assets/javascripts/map.js.erb b/app/assets/javascripts/map.js.erb
index e163ef265..e4392827e 100644
--- a/app/assets/javascripts/map.js.erb
+++ b/app/assets/javascripts/map.js.erb
@@ -42,33 +42,34 @@ L.Bounds.include({
}
});
+L.Icon.Default.imagePath = <%= "#{asset_prefix}/images".to_json %>;
+
var map;
var layers = [
{
- urlTemplate: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
+ klass: L.OSM.Mapnik,
attribution: "",
keyid: "mapnik",
layerCode: "M",
name: I18n.t("javascripts.map.base.standard")
},
{
- urlTemplate: 'http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png',
+ klass: L.OSM.CycleMap,
attribution: "Tiles courtesy of Andy Allan",
keyid: "cyclemap",
layerCode: "C",
name: I18n.t("javascripts.map.base.cycle_map")
},
{
- urlTemplate: 'http://{s}.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png',
+ klass: L.OSM.TransportMap,
attribution: "Tiles courtesy of Andy Allan",
keyid: "transportmap",
layerCode: "T",
name: I18n.t("javascripts.map.base.transport_map")
},
{
- urlTemplate: 'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
- subdomains: '1234',
+ klass: L.OSM.MapQuestOpen,
attribution: "Tiles courtesy of MapQuest ",
keyid: "mapquest",
layerCode: "Q",
@@ -77,20 +78,27 @@ var layers = [
];
function createMap(divName, options) {
- map = L.map(divName, options);
+ options = $.extend({zoomControl: false, panZoomControl: true, layerControl: true}, options);
+
+ map = L.map(divName, $.extend({}, options, {panControl: false, zoomsliderControl: false, maxZoom: 18}));
if (map.attributionControl) {
map.attributionControl.setPrefix(''); // For tmcw
}
+ if (options.panZoomControl) {
+ new L.Control.Pan().addTo(map);
+ new L.Control.Zoomslider({stepHeight: 7}).addTo(map);
+ }
+
var layersControl = L.control.layers();
- if (!options || options.layerControl !== false) {
+ if (options.layerControl) {
layersControl.addTo(map);
}
for (var i = 0; i < layers.length; i++) {
- layers[i].layer = L.tileLayer(layers[i].urlTemplate, layers[i]);
+ layers[i].layer = new (layers[i].klass)(layers[i]);
if (i == 0) {
layers[i].layer.addTo(map);
}
@@ -112,18 +120,12 @@ function getArrowIcon() {
});
}
-function addMarkerToMap(position, icon, description) {
- var marker = L.marker(position, icon ? {icon: icon} : null).addTo(map);
-
- if (description) {
- marker.bindPopup(description);
- }
-
- return marker;
-}
-
-function removeMarkerFromMap(marker) {
- map.removeLayer(marker);
+function getUserIcon(url) {
+ return L.icon({
+ iconUrl: url || <%= asset_path('marker-red.png').to_json %>,
+ iconSize: [21, 25],
+ iconAnchor: [12, 27]
+ });
}
function addObjectToMap(object, zoom, callback) {