Map jQuery/Google地图:带半径控制的位置选择器?
我正在寻找一种简单的用户友好的方法来选择一个位置,通过获得横向/纵向位置以及影响半径 我在谷歌广告中选择广告显示区域时也看到过类似的情况。我想知道有没有jQuery/google解决方案?或者你见过类似的我可以实现的东西吗 我只需要一个中心(长/宽)和半径Map jQuery/Google地图:带半径控制的位置选择器?,map,geolocation,location,Map,Geolocation,Location,我正在寻找一种简单的用户友好的方法来选择一个位置,通过获得横向/纵向位置以及影响半径 我在谷歌广告中选择广告显示区域时也看到过类似的情况。我想知道有没有jQuery/google解决方案?或者你见过类似的我可以实现的东西吗 我只需要一个中心(长/宽)和半径 另外,这是为英国准备的。我决定这样做: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-s
另外,这是为英国准备的。我决定这样做:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- TITLE -->
<title>Website Title</title>
<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- JAVASCRIPT -->
<script type="text/javascript" src='http://maps.google.com/maps/api/js?sensor=false'></script>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var Circle = null;
var Radius = $("#radius").val();
var StartPosition = new google.maps.LatLng(54.19335, -3.92695);
function DrawCircle(Map, Center, Radius) {
if (Circle != null) {
Circle.setMap(null);
}
if(Radius > 0) {
Radius *= 1609.344;
Circle = new google.maps.Circle({
center: Center,
radius: Radius,
strokeColor: "#0000FF",
strokeOpacity: 0.35,
strokeWeight: 2,
fillColor: "#0000FF",
fillOpacity: 0.20,
map: Map
});
}
}
function SetPosition(Location, Viewport) {
Marker.setPosition(Location);
if(Viewport){
Map.fitBounds(Viewport);
Map.setZoom(map.getZoom() + 2);
}
else {
Map.panTo(Location);
}
Radius = $("#radius").val();
DrawCircle(Map, Location, Radius);
$("#latitude").val(Location.lat().toFixed(5));
$("#longitude").val(Location.lng().toFixed(5));
}
var MapOptions = {
zoom: 5,
center: StartPosition,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
disableDoubleClickZoom: true,
streetViewControl: false
};
var MapView = $("#map");
var Map = new google.maps.Map(MapView.get(0), MapOptions);
var Marker = new google.maps.Marker({
position: StartPosition,
map: Map,
title: "Drag Me",
draggable: true
});
google.maps.event.addListener(Marker, "dragend", function(event) {
SetPosition(Marker.position);
});
$("#radius").keyup(function(){
google.maps.event.trigger(Marker, "dragend");
});
DrawCircle(Map, StartPosition, Radius);
SetPosition(Marker.position);
});
</script>
</head>
<body>
<form>
Latitude: <input type="text" id="latitude" /> Longitude: <input type="text" id="longitude" />
Radius: <input type="text" id="radius" value="320" />
<div id="map" style="width:600px; height:400px; background-color:#000000;">
</div>
</form>
</body>
</html>
网站标题
$(文档).ready(函数(){
var循环=空;
变量半径=$(“#半径”).val();
var StartPosition=new google.maps.LatLng(54.19335,-3.92695);
功能绘图圆(地图、中心、半径){
如果(圆圈!=null){
Circle.setMap(空);
}
如果(半径>0){
半径*=1609.344;
圆圈=新的google.maps.Circle({
中心:中心,,
半径:半径,
strokeColor:#0000FF“,
笔划不透明度:0.35,
冲程重量:2,
fillColor:#0000FF“,
不透明度:0.20,
地图:地图
});
}
}
函数设置位置(位置、视口){
标记器。设置位置(位置);
如果(视口){
地图边界(视口);
Map.setZoom(Map.getZoom()+2);
}
否则{
panTo地图(位置);
}
半径=$(“#半径”).val();
绘图圈(地图、位置、半径);
$(“#纬度”).val(Location.lat().toFixed(5));
$(“#经度”).val(Location.lng().toFixed(5));
}
变量映射选项={
缩放:5,
中心:起始位置,
mapTypeId:google.maps.mapTypeId.ROADMAP,
mapTypeControl:false,
禁用双击缩放:真,
街景控制:错误
};
var MapView=$(“#映射”);
var Map=new google.maps.Map(MapView.get(0),MapOptions);
var Marker=new google.maps.Marker({
位置:起始位置,
地图:地图,
标题:“拖我走”,
德拉格布尔:是的
});
google.maps.event.addListener(标记“dragend”,函数(事件){
设置位置(标记位置);
});
$(“#半径”).keyup(函数(){
google.maps.event.trigger(标记“dragend”);
});
绘制圆(地图、起始位置、半径);
设置位置(标记位置);
});
纬度:经度:
半径:
您会注意到答案中的“something”一词,因为这不是完成的代码,也没有经过测试。而且你提供的链接确实有效,为什么你会说它不起作用呢?如果它对你不起作用,那就让它起作用,或者你是一个“金梅-提赫-科兹”人?我唯一没有被迫给出的答案(特别是代码)就是否决投票,这让你看起来像一个完整的工具。你为什么不自己提供答案呢?我对你的答案投了反对票,因为我想在我报告之前给你一个机会让它变得更好。因为这是一个非常糟糕的答案。正如您所说,它未经测试(未经确认),缺乏文档和注释。这只是与这个问题有点相关的东西的一种粘贴。如果除了你之外还有其他人会问这个问题,你的答案就不会被接受。至于位置选择器,输入不会更新,因此代码无法工作。时期若你们想提交未经测试的非工作代码,请写一个免责声明。哦,你们必须拖动指针。我明白了,那样的话,我必须道歉。我会编辑你的答案,这样我就可以改变我的投票(请随意否决)。如果你能编辑你的答案,我将不胜感激。也许可以添加一个简短的提示,您必须将其拖动。。因为大多数选择器都在当前地图的中心位置工作。我真的很想改变我的投票,因为这段代码非常有价值。嘿,在那次小小的争吵之后,我认为你应该得到一个很好的感谢,非常有用的代码,而且效果很好。