作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,当用户在 map 中输入城市时,我正在尝试获取地震信息。现在我通过硬编码来制作边界框(geonames 地震 api 需要)。我想制作输入城市大小的边界框。我在 geocoder api v3 中看到这样做:
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.fitBounds(results[0].geometry.viewport);
}
});
问题 - 这不会让我得到 geonames 需要的东北西南。有人知道怎么做吗?
我当前的代码
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// Calculate bounding box based on the given address
var north = results[0].geometry.location.lat() + .5;
var south = results[0].geometry.location.lat() - .5;
var east = results[0].geometry.location.lng() + .5;
var west = results[0].geometry.location.lng() - .5;
var earthquake = 'http://api.geonames.org/earthquakesJSON?north=' + north + '&south=' + south + '&east=' + east + '&west=' + west + '&username=*****';
+5 -5 是扩展坐标中的数字以创建南北......等
最佳答案
您想要使用结果[0].geometry.viewport,它是 google.maps.LatLngBounds object
var north = results[0].geometry.viewport.getNorthEast().lat();
var south = results[0].geometry.viewport.getSouthWest().lat();
var east = results[0].geometry.viewport.getNorthEast().lng();
var west = results[0].geometry.viewport.getSouthWest().lng();
关于javascript - 如何在 geonames 和 geocoder api 中动态生成边界框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713456/
我是一名优秀的程序员,十分优秀!