Как добавить топографический слой USGS в API Google Maps Javascript - PullRequest
0 голосов
/ 18 мая 2018

Я нашел несколько ресурсов, но все ссылки либо устарели, либо информация устарела.Мне бы очень хотелось, чтобы в моем окне карт Google был дополнительный слой, отображающий слой топографической карты USGS.

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете использовать google.maps.ImageMapType для добавления пользовательского слоя, вот так:

google.maps.event.addDomListener(window, "load", function () {
	// Create map
  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 11,
    center: {lat: 62.323907, lng: -150.109291},
    mapTypeId: 'satellite'
  });
 
	// Replace this url with any url you want
  // It's actually a url template
	var tileUrl = "http://b.tile.stamen.com/terrain/{z}/{x}/{y}.png";

  // Create a new ImageMapType layer.
  var layer = new google.maps.ImageMapType({
    name: "stamen_terrain",
    getTileUrl: function(coord, zoom) {
      return tileUrl.replace("{x}", coord.x).replace("{y}", coord.y).replace("{z}", zoom);
    },
    tileSize: new google.maps.Size(256, 256),
    minZoom: 1,
    maxZoom: 20
  });

  // Register the new layer, then activate it.
  map.mapTypes.set("stamen_terrain", layer);
  map.setMapTypeId("stamen_terrain");
});
body {
  margin: 0;
  padding: 0;
}

#map {
  height: 400px;
  width: 400px;
}
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&amp;sensor=false"></script>
<div id="map"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...