Google Maps and WMTS Kartverket
by HoffZ
HTML
<script src="https://maps.google.com/maps/api/js?sensor=false&libraries=drawing"></script>
<p>
Test
</p>
<div id="map">
</div>
CSS
#map {
width: 500px;
height: 400px;
}
JavaScript
var map;
String.prototype.format = function() {
var formatted = this;
for (var i = 0; i < arguments.length; i++) {
var regexp = new RegExp('\\{' + i + '\\}', 'gi');
formatted = formatted.replace(regexp, arguments[i]);
}
return formatted;
};
init()
function init() {
var BASE_URL = 'http://wmts10.geo.admin.ch';
var BASE_URL_KARTVERKET = 'http://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?&layer=topo4graatone&style=default&tilematrixset=EPSG%3A25833&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=EPSG%3A25833%3A4&';
var layer = 'ch.swisstopo.pixelkarte-farbe';
var timestamp = 'current';
var format = 'jpeg';
var url = BASE_URL + '/1.0.0/'+layer+'/default/'+timestamp.toString()+'/3857/{z}/{x}/{y}.' + format;
//Define OSM map type pointing at the OpenStreetMap tile server
var KartverketType = new google.maps.ImageMapType({
maxZoom: 20,
minZoom: 7,
name: 'Kartverket',
tileSize: new google.maps.Size(256, 256),
getTileUrl: function(coord, zoom) {
return BASE_URL_KARTVERKET + 'TileCol=7&TileRow=6'
}
})
var PixelkarteType = new google.maps.ImageMapType({
maxZoom: 20,
minZoom: 7,
name: "Pixelkarte",
tileSize: new google.maps.Size(256, 256),
credit: 'swisstopo',
getTileUrl: function(coord, zoom) {
return BASE_URL + '/1.0.0/' + layer + '/default/' + timestamp.toString() + '/3857/' + zoom + "/" + coord.x + "/" + coord.y + ".jpeg";
}
});
var OrthophotoType = new google.maps.ImageMapType({
maxZoom: 20,
minZoom: 7,
name: "Orthophoto",
tileSize: new google.maps.Size(256, 256),
credit: 'swisstopo',
getTileUrl: function(coord, zoom) {
return BASE_URL + '/1.0.0/ch.swisstopo.swissimage/default/20140620/3857/' + zoom + "/" + coord.x + "/" + coord.y + ".jpeg";
}
});
map = new google.maps.Map(document.getElementById("map"), {
zoom: 10,
center: new google.maps.LatLng(46.94, 7.45),
...