Location Search (DEV)
by LandsD Map API
HTML
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css">
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/esri-leaflet-geocoder.css">
<script src="https://unpkg.com/[email protected]/dist/esri-leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/dist/esri-leaflet-geocoder.js"></script>
<div id="mapid"></div>
CSS
#mapid {
height: 530px;
}
.leaflet-container .leaflet-control-attribution {
background: transparent;
}
JavaScript
// resize map
const mapdiv = document.getElementById('mapid');
var margin;
if (document.all) {
margin = parseInt(document.body.currentStyle.marginTop, 10) + parseInt(document.body.currentStyle.marginBottom, 10);
} else {
margin = parseInt(document.defaultView.getComputedStyle(document.body, '').getPropertyValue('margin-top')) + parseInt(document.defaultView.getComputedStyle(document.body, '').getPropertyValue('margin-bottom'));
}
mapdiv.style.height = (window.innerHeight - margin) + 'px';
/////
var apikey = 'f4d3e21d4fc14954a1d5930d4dde3809' //landsd.azure-api.net starter key
var map = L.map('mapid').setView([22.29227, 114.20847], 16);
L.esri.Geocoding.Suggest.prototype.params.key = apikey;
L.esri.Geocoding.Geocode.prototype.params.key = apikey;
L.esri.Service.prototype.metadata = function(callback, context) {
return this._request('get', '', {
key: apikey
}, callback, context);
}
L.tileLayer('https://landsd.azure-api.net/dev/osm/xyz/basemap/WGS84/tile/{z}/{x}/{y}.png?key=' + apikey, { attribution: "<a href='https://api.portal.hkmapservice.gov.hk/disclaimer' target='_blank'>© Map from Lands Department <img src='https://api.hkmapservice.gov.hk/mapapi/landsdlogo.jpg' style='width:25px;height:25px'/></a>",
maxZoom: 19,
}).addTo(map);
L.tileLayer('https://landsd.azure-api.net/dev/osm/xyz/label-tc/WGS84/tile/{z}/{x}/{y}.png?key=' + apikey, {
minZoom: 10,
maxZoom: 19,
}).addTo(map);
var geocodeAddress = L.esri.Geocoding.geocodeServiceProvider({
url: 'https://landsd.azure-api.net/dev/ags/gc/loc/address',
label: 'Address Point',
maxResults: 15
});
var geocodeBuilding = L.esri.Geocoding.geocodeServiceProvider({
url: 'https://landsd.azure-api.net/dev/ags/gc/ib1000/buildings/building',
label: 'Building',
maxResults: 15
});
var geocodeBuildingLic = L.esri.Geocoding.geocodeServiceProvider({
url: 'https://landsd.azure-api.net/dev/ags/gc/ic1000/buildinglicence',
label: 'Building Licence',
maxResults: 15
});
var geocodeGeocomm =...