Google Maps Intersection Detector
by HoffZ
HTML
<script src="https://cdn.rawgit.com/bjornharrtell/jsts/gh-pages/1.4.0/jsts.min.js"></script>
<script src="https://maps.google.com/maps/api/js?sensor=false&libraries=drawing"></script>
<div id="map">
</div>
CSS
#map {
width: 500px;
height: 400px;
}
JavaScript
Kart.Wms.KartverketCache = function (name, layer) {
this.layer = layer;
this.name = name;
this.alt = name;
this.tileSize = new google.maps.Size(256, 256);
this.maxZoom = 19;
this.getTile = function (coord, zoom, ownerDocument) {
var div = ownerDocument.createElement('DIV');
div.style.width = this.tileSize.width + 'px';
div.style.height = this.tileSize.height + 'px';
div.style.backgroundImage = "url(https://gis3.nve.no/map/services/Nettanlegg1/MapServer/WmsServer?format=image/png&layers=" +
this.layer + "&zoom=" + zoom + "&x=" + coord.x + "&y="
+ coord.y + '&' + ")";
return div;
};
};
var tiledLayer = new google.maps.ImageMapType({
getTileUrl: function(tileCoord, zoom) {
var baseUrl = "https://gis3.nve.no/map/services/Nettanlegg1/MapServer/WmsServer?";
var params =
"layers=Distribusjonsnett,Regionalnett,Sentralnett" +
//"&format=image/png&service=wmts&version=1.0.0" +
"&request=GetTile&style=default&tilematrixset=EPSG:3857" +
"&tilematrix=EPSG:3857:" + zoom + "&tilerow=" + tileCoord.y +
"&tilecol=" + tileCoord.x;
return baseUrl + params;
},
tileSize: new google.maps.Size(256, 256),
name: "Kartverket",
maxZoom: 20
});
var mapOptions = {
zoom: 16,
center: new google.maps.LatLng(62.1482, 6.0696),
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListenerOnce(map, 'idle', function () {
_kart.mapTypes.roadmap.name = 'Gate';
_kart.mapTypes.hybrid.name = 'Satelitt';
_kart.setOptions({'mapTypeControl': true});
});
map.mapTypes.set('Energinett
//_kart.mapTypes.set('topo2', new Kart.Wms.KartverketCache("Eiendom", "topo2"));
//map.mapTypes.set('topo4g',tiledLayer);
//map.setMapTypeId('topo4g');
/*
var center = [60.438160, 5.472157];
var map = L.map('map').setView(center, 12);
L.tileLayer(
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18
}).addTo(map);
var...