可以将地面叠加层添加到具有存储图像的 google 地图吗?
Possible to add ground overlay to google map with stored image?
我在尝试将图像作为地面叠加层添加到我正在创建的 google 地图时遇到困难。在我看到的所有帮助文件中,图像已作为 url 传递给地面叠加函数。是否可以传入存储在我机器上的图像,而不是在线图像?
这是我的地图和叠加层代码:
function initialize() {
var mapOptions = {
center: {lat: 45.3469, lng: -75.7594},
zoom: 10,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var imageBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(45.2118075, -75.4455767),
new google.maps.LatLng(45.2043559, -75.4545309));
var campusOverlay = new google.maps.GroundOverlay('Campus.JPG', imageBounds);
campusOverlay.setMap(map);
}
我希望将我创建的 'Campus.jpg' 图片添加到地图中。我也试过传递整个路径及其所有目录,但地图上仍然没有任何内容。如果没有办法传递这样的图片,有没有办法将图片放到网上并这样使用?
谢谢
将完整的 url 作为 GroundOverlay
的第一个参数传递给图像,并确保您的边界正确。这可能有点棘手。您的叠加层应覆盖北纬和南纬 lat/east 并且
西经,所以你基本上有某种矩形区域。
这是一个简单的例子。你一定会明白的。
var overlay;
function initialize() {
var center = new google.maps.LatLng(45.3469, -75.7594);
var imageBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(45.2, -76.1),
new google.maps.LatLng(45.5, -75.38)
);
var mapOptions = {
zoom: 10,
center: center,
disableDefaultUI: true
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
overlay = new google.maps.GroundOverlay(
'https://upload.wikimedia.org/wikipedia/commons/e/ee/Dowarian%2C_Neelam_Valley%2C_AJK_Pakistan.JPG',
imageBounds);
overlay.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<div id="map-canvas"></div>
希望对您有所帮助。
我在尝试将图像作为地面叠加层添加到我正在创建的 google 地图时遇到困难。在我看到的所有帮助文件中,图像已作为 url 传递给地面叠加函数。是否可以传入存储在我机器上的图像,而不是在线图像?
这是我的地图和叠加层代码:
function initialize() {
var mapOptions = {
center: {lat: 45.3469, lng: -75.7594},
zoom: 10,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var imageBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(45.2118075, -75.4455767),
new google.maps.LatLng(45.2043559, -75.4545309));
var campusOverlay = new google.maps.GroundOverlay('Campus.JPG', imageBounds);
campusOverlay.setMap(map);
}
我希望将我创建的 'Campus.jpg' 图片添加到地图中。我也试过传递整个路径及其所有目录,但地图上仍然没有任何内容。如果没有办法传递这样的图片,有没有办法将图片放到网上并这样使用?
谢谢
将完整的 url 作为 GroundOverlay
的第一个参数传递给图像,并确保您的边界正确。这可能有点棘手。您的叠加层应覆盖北纬和南纬 lat/east 并且
西经,所以你基本上有某种矩形区域。
这是一个简单的例子。你一定会明白的。
var overlay;
function initialize() {
var center = new google.maps.LatLng(45.3469, -75.7594);
var imageBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(45.2, -76.1),
new google.maps.LatLng(45.5, -75.38)
);
var mapOptions = {
zoom: 10,
center: center,
disableDefaultUI: true
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
overlay = new google.maps.GroundOverlay(
'https://upload.wikimedia.org/wikipedia/commons/e/ee/Dowarian%2C_Neelam_Valley%2C_AJK_Pakistan.JPG',
imageBounds);
overlay.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<div id="map-canvas"></div>
希望对您有所帮助。