- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在画一个半径大小的圆,在该圆上执行附近的搜索:
// Point where to search
var searchArea = new google.maps.LatLng(25.435833800555567, -80.44189453125);
// Draw a circle around the radius
var circle = new google.maps.Circle({
center: searchArea,
radius: parseFloat(document.getElementById("distance").value) * 1609.3, //convert miles to meters
strokeColor: "#0000FF",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#0000FF",
fillOpacity: 0.4
});
circle.setMap(map);
// Perform search over radius
var request = {
location: searchArea,
radius: parseFloat(document.getElementById("distance").value) * 1609.3, //convert miles to meters
keyword: "coffee",
rankBy: google.maps.places.RankBy.PROMINENCE
};
service.nearbySearch(request, callback);
}
然后我绘制标记。这工作正常,但在某些情况下,标记显示在圆之外,让我相信它可能与半径大小不同。
这是一个很好的例子来说明我的意思。
注意标记如何显示在圆圈之外。为什么会发生这种情况?
最佳答案
我的方法是计算距中心点的距离。我已将您的半径设置为名为 RADIUS
的变量,请确保将其放置在文档加载后执行的位置。
我还修改了您的 for
循环以包含距离检查。 distance
函数接受 2 个参数,它们的类型均为 google.maps.LatLng
var EARTH_RADIUS = 6378137; // meters
var RADIUS = (parseFloat(document.getElementById("distance").value) * 1609.3);
function deg2rad(deg) {
return deg * (Math.PI / 180);
}
function distance(pos1, pos2) {
var p1Lat = pos1.lat(),
p1Lng = pos1.lng(),
p2Lat = pos2.lat(),
p2Lng = pos2.lng(),
dLat = deg2rad(p1Lat-p2Lat),
dLon = deg2rad(p1Lng-p2Lng),
a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(deg2rad(p1Lat)) * Math.cos(deg2rad(p2Lat));
return EARTH_RADIUS * (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)));
}
for (var i = 0; i < results.length; i++) {
if (distance(results[i].geometry.location, searchArea) <= RADIUS) {
createMarker(results[i]);
}
}
关于javascript - 谷歌地图围绕搜索半径画圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914359/
我想以 headless 模式(屏幕上根本没有 GUI)将 JPanel 绘制到 BufferedImage 中。 final JPanel panel = createPanel(); panel.
我是 Canvas 的新手,正在尝试创建看起来逼真的 float 粒子动画。 目前,我正在创建 400 个随机散布在 400x400 Canvas 上的粒子。 然后,在每个 requestAnimat
有没有办法在悬停时停止悬 float 画? :hover 这是一个显示动画的链接: https://codepen.io/youbiteme/pen/RprPrN 最佳答案 只需为您的 svg 悬停添
我想在谷歌地图上绘制覆盖图,其中除了特定点周围 1.5 公里半径以外的所有内容都被遮蔽了。为此,我尝试使用带有大量边框的圆圈,所以我会在边框中放置透明中心和覆盖颜色来实现这一点,但它无法渲染。
我正在尝试通过扩展类 UIView 来创建自定义 View ,该类可以在自定义 View 的中心显示一个圆圈。为了添加自定义绘图,我重写了 draw(_ rect: CGRect) 方法,如下所示。
我是一名优秀的程序员,十分优秀!