Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据所选半径显示谷歌地图_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 如何根据所选半径显示谷歌地图

Javascript 如何根据所选半径显示谷歌地图,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一英里的落差。当我从下拉列表中选择任何值(如10英里)时,我的谷歌地图应该显示在距离该位置10英里的范围内。我该怎么做 函数myMap{ var myCenter=new google.maps.LatLng56.1304,-106.3468; var mapProp={center:myCenter,zoom:6,scrollwheel:true,draggable:true,mapTypeId:google.maps.mapTypeId.ROADMAP}; var map=new goo

我有一英里的落差。当我从下拉列表中选择任何值(如10英里)时,我的谷歌地图应该显示在距离该位置10英里的范围内。我该怎么做

函数myMap{ var myCenter=new google.maps.LatLng56.1304,-106.3468; var mapProp={center:myCenter,zoom:6,scrollwheel:true,draggable:true,mapTypeId:google.maps.mapTypeId.ROADMAP}; var map=new google.maps.Mapdocument.getElementByIdgoogleMap,mapProp; marker.setMapmap; } 当前地图 5英里 10英里 15英里 20英里 25英里 50英里 100英里 250英里 500英里 一个选项是创建具有正确中心和所需半径的圆,然后调用map.fitbundscircle.getBounds,其中圆就是圆

请注意,圆的半径以米为单位,所以您需要将输入的英里数转换为米

每英里可变电表=1609.34; 函数myMap{ var myCenter=new google.maps.LatLng56.1304,-106.3468; var mapProp={ 中心:迈森特, 缩放:6, 滚轮:对, 真的, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.Mapdocument.getElementByIdgoogleMap,mapProp; var圈; google.maps.event.AddDomainListenerDocument.getElementById'range','change',functionevt{ var值=$range.val; 如果为circle&&circle.setMap circle.setMapnull; 圆圈=新的google.maps.circle{ 中心:迈森特, 半径:值*米/英里, 地图:地图 }; map.fitbundscircle.getBounds; }; } google.maps.event.AddDomainListenerWindow,“加载”,myMap; html, 身体{ 身高:100%; 宽度:100%; 填充:0px; 边际:0px; } 谷歌地图{ 身高:90%; } 当前地图 5英里 10英里 15英里 20英里 25英里 50英里 100英里 250英里 500英里
你不需要在地图上居中。您可能要做的是添加一个侦听器,并在相应地更改setZoom后,但您需要根据Google Maps API文档更改范围值而不是文本,以处理最大缩放值

var range = document.getElementById("range");
      range.addEventListener("change", function() {
        map.setZoom(range.value);
      });

不确定这是否直接可行。范围与缩放级别相关,缩放级别将lat/long与像素大小相关。纬度和英里之间的关系因赤道和两极而异。谢谢!!你的密码符合我的目的。我不想显示圆圈,所以我只是在代码中添加了circle.setMapnull;方法。或者不要将圆的map属性设置为以remove the map:map line开头,我将它显示在地图上,以便清楚地显示它在做什么
<select id="range" name="range">
    <option value="0">Current Map</option>
    <option value="5">5 Miles</option>
    <option value="10">10 Miles</option>
    <option value="15">15 Miles</option>
    <option value="20">20 Miles</option>
    <option value="25">25 Miles</option>
    <option value="50">50 Miles</option>
    <option value="100">100 Miles</option>
    <option value="250">250 Miles</option>
    <option value="500">500 Miles</option>
  </select>
I do not want this i just want default 10 miles what should i need to do