如何将Google地图作为图片返回

时间:2018-05-07 05:35:14

标签: javascript api google-maps

我正在使用一个API,它通过3个参数Latitude,Longitude&amp ;;返回谷歌地图中的确切位置。缩放参数。虽然我的要求是我需要一个图像作为回应,所以我们如何将谷歌地图作为图像返回。

以下是我正在使用的代码。任何人都可以帮助我如何从这里将Google地图作为图像返回。

 <script>

 function initMap() {
    var loaction = new google.maps.LatLng(20.59, 78.96);

    var map = new google.maps.Map(document.getElementById('map'), {
      center: loaction,
      zoom: 3
    });

    var coordInfoWindow = new google.maps.InfoWindow();
    coordInfoWindow.setContent(createInfoWindowContent(loaction, map.getZoom()));
    coordInfoWindow.setPosition(loaction);
    coordInfoWindow.open(map);

    map.addListener('zoom_changed', function() {
      coordInfoWindow.setContent(createInfoWindowContent(loaction, map.getZoom()));
      coordInfoWindow.open(map);
    });
  }

  var TILE_SIZE = 256;

  function createInfoWindowContent(latLng, zoom) {
    var scale = 1 << zoom;

    var worldCoordinate = project(latLng);

    var pixelCoordinate = new google.maps.Point(
        Math.floor(worldCoordinate.x * scale),
        Math.floor(worldCoordinate.y * scale));

    var tileCoordinate = new google.maps.Point(
        Math.floor(worldCoordinate.x * scale / TILE_SIZE),
        Math.floor(worldCoordinate.y * scale / TILE_SIZE));

    return [
     // 'Location, IL',
      //'LatLng: ' + latLng,
      'Zoom level: ' + zoom,
     // 'World Coordinate: ' + worldCoordinate,
     // 'Pixel Coordinate: ' + pixelCoordinate,
      //'Tile Coordinate: ' + tileCoordinate
    ].join('<br>');
  }

  // The mapping between latitude, longitude and pixels is defined by the web
  // mercator projection.
  function project(latLng) {
    var siny = Math.sin(latLng.lat() * Math.PI / 180);

    // Truncating to 0.9999 effectively limits latitude to 89.189. This is
    // about a third of a tile past the edge of the world tile.
    siny = Math.min(Math.max(siny, -0.9999), 0.9999);

    return new google.maps.Point(
        TILE_SIZE * (0.5 + latLng.lng() / 360),
        TILE_SIZE * (0.5 - Math.log((1 + siny) / (1 - siny)) / (4 * Math.PI)));
  }
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDRQ2DkxY225R-wooSMYM4Mh_tKKqhZhv0&callback=initMap&region=IN">
</script>

0 个答案:

没有答案