我正在使用一个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®ion=IN">
</script>