91 lines
1.9 KiB
JavaScript
91 lines
1.9 KiB
JavaScript
console.log("hello from map.js")
|
|
var hotelxy=[-19.8,47.5]
|
|
|
|
var maxZoomLevel = 6
|
|
var tileSize = 256
|
|
|
|
var maxLenght = Math.pow(2, maxZoomLevel) * tileSize
|
|
|
|
var mapNE = [maxLenght, 0]
|
|
var mapSW = [0, maxLenght]
|
|
|
|
var map = L.map('map', {'attributionControl': false}).setView(hotelxy,1);
|
|
|
|
L.tileLayer('asset/tiles/{z}/{x}/{y}.png', {
|
|
minZoom: 1,
|
|
maxZoom: maxZoomLevel,
|
|
continuousWorld: false,
|
|
noWrap: true,
|
|
crs: L.CRS.Simple,
|
|
}).addTo(map);
|
|
|
|
map.setMaxBounds(new L.LatLngBounds(
|
|
map.unproject(mapSW, map.getMaxZoom()),
|
|
map.unproject(mapNE, map.getMaxZoom())
|
|
))
|
|
|
|
console.log("getMaxZoom:")
|
|
console.log(map.getMaxZoom())
|
|
|
|
|
|
var markPointerIcon = L.icon({
|
|
iconUrl: 'asset/markers/pointer.png',
|
|
iconSize: [22, 32],
|
|
iconAnchor: [11, 32],
|
|
popupAnchor: [0, -38],
|
|
});
|
|
|
|
var markRestoIcon = L.icon({
|
|
iconUrl: 'asset/markers/resto-42x56.png',
|
|
iconSize: [41, 32],
|
|
iconAnchor: [20.5, 32],
|
|
popupAnchor: [0, -38],
|
|
});
|
|
|
|
|
|
var marker = L.marker(hotelxy, {
|
|
icon: markPointerIcon,
|
|
draggable : true,
|
|
}).addTo(map);
|
|
|
|
marker.bindPopup("check");
|
|
|
|
marker.on('click', function(e) {
|
|
console.log(marker.getLatLng())
|
|
})
|
|
|
|
console.log("looping resto from map.js")
|
|
|
|
var layResto = L.layerGroup()
|
|
|
|
let resto = jdb.data.db.resto.sub
|
|
|
|
Object.entries(resto).forEach(item => {
|
|
console.log(item)
|
|
console.log(item[1]['sub'])
|
|
Object.entries(item[1]['sub']).forEach(r => {
|
|
console.log(r[1]['name'])
|
|
console.log(r[1]['xy'])
|
|
if (typeof r[1]['xy'] !== "undefined") {
|
|
r[1]['marker'] = L.marker(r[1]['xy'], {
|
|
icon: markRestoIcon,
|
|
}).addTo(layResto);
|
|
r[1]['marker'].bindPopup(r[1]['name'])
|
|
r[1]['marker'].on('click', function(e) {
|
|
console.log("hello")
|
|
jdb.data.db.resto.isActive = true
|
|
item[1]['isActive'] = true
|
|
let target = document.getElementById(r[1]['id'])
|
|
target.scrollIntoView({ behavior: 'smooth' })
|
|
})
|
|
|
|
}
|
|
})
|
|
})
|
|
|
|
layResto.addTo(map)
|
|
/*
|
|
min/max = 163
|
|
map.setView([-163,-163],2)
|
|
*/
|