假设我有一个div
内的地图,宽度为x
,高度为y
,缩放等级为t。我怎样才能找到当前可见的地图的面积,宽度和高度?如何获取当前地图的当前区域,宽度和高度(相对于经度和纬度)?
1
A
回答
9
下面是答案,
var spherical = google.maps.geometry.spherical,
bounds = map.getBounds(),
cor1 = bounds.getNorthEast(),
cor2 = bounds.getSouthWest(),
cor3 = new google.maps.LatLng(cor2.lat(), cor1.lng()),
cor4 = new google.maps.LatLng(cor1.lat(), cor2.lng()),
width = spherical.computeDistanceBetween(cor1,cor3),
height = spherical.computeDistanceBetween(cor1, cor4);
-1
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(58, 60),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', map);
var infowindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({
map: map
});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
infowindow.close();
var place = autocomplete.getPlace();
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(17); // Why 17? Because it looks good.
}
var image = new google.maps.MarkerImage(
place.icon,
new google.maps.Size(71, 71),
new google.maps.Point(0, 0),
new google.maps.Point(17, 34),
new google.maps.Size(35, 35));
marker.setIcon(image);
marker.setPosition(place.geometry.location);
var address = '';
if (place.address_components) {
address = [(place.address_components[0] &&
place.address_components[0].short_name || ''),
(place.address_components[1] &&
place.address_components[1].short_name || ''),
(place.address_components[2] &&
place.address_components[2].short_name || '')
].join(' ');
}
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
infowindow.open(map, marker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
和UR定义类似于乌尔HTML组件...
<input id="searchTextField" type="text" size="50"> <div id="map_canvas"></div>
添加下面一行行头.. <script src="//maps.googleapis.com/maps/api/js?sensor=false&libraries=places" type="text/javascript"></script>
编辑 你可以得到高度和宽度从google.maps对象..我无法改变你的要求的代码。但我相信这会给你一个好主意。
好运
+1
你是从哪里复制粘贴此。 – defau1t 2012-03-02 06:01:42
+0
宽度,高度,可用地图面积在哪里? – user960567 2012-03-02 06:01:47
相关问题
- 1. 如何获取黑莓当前位置的经度和纬度?
- 2. 如何获取Android中当前位置的纬度和经度?
- 3. 当前位置,经度和纬度
- 4. Android - 如何获取当前位置(经度和纬度)?
- 5. 当前经纬度
- 6. 获取当前位置的经度和纬度
- 7. 在Java中获取用户当前的纬度和经度
- 8. GoogleMaps API无法获取当前的纬度和经度
- 9. 获取当前的纬度和经度在android应用程序
- 10. 获取当前纬度和经度在android上
- 11. 获取当前位置经度和纬度在android
- 12. 获取当前的经纬度
- 13. 获取用户当前的经/纬度
- 14. 获取当前位置的经纬度
- 15. 如何确定我的当前位置(经度,纬度和高度)?
- 16. 如何从谷歌地图获取当前的经纬度
- 17. 获取Embed Clutter Stage的当前宽度和高度
- 18. 如何确定我的当前位置(经度和纬度)?
- 19. 从Google地理定位API获取当前经纬度和lng
- 20. 获取纬度和经度
- 21. 获取经度和纬度
- 22. 如何从我的android设备获取当前的经度和纬度
- 23. 如何比较当前用户的纬度和经度与其他用户纬度和经度
- 24. 如何获取WP7中仿真器设备的当前经度和纬度值?
- 25. 如何在iOS 4.0/4.2中获取当前位置的经度和纬度?
- 26. 如何使用JAVA获取我当前位置的经度和纬度
- 27. 获取前一个相机谷歌地图上的经度和纬度
- 28. 如何在Android中获取纬度和经度或谷歌地图的高度?
- 29. Mapkit当前位置的纬度和经度
- 30. 开放层当前位置的经度和纬度
我想说的是,当计算一条线上点之间的距离时,不需要几何图形库......然后我记得我们生活在一个球体上。 #fezgame – Ziggy 2013-10-16 16:52:38
好的答案 - 请注意,在初始化map/api时,您必须明确指定要使用几何库。 – Victor 2016-10-10 10:57:59