结合arcgis api for js进行PIO搜索
来源:互联网 发布:奕乐麻将 嘉兴玩网络 编辑:程序博客网 时间:2024/06/06 02:34
前端PIO搜索
实现功能
本次实验是将ArcGIS API For Js 和PIO区域搜索相结合,然后再利用bootstrap和jq进行相关的事件和样式的控制。
相关代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="https://js.arcgis.com/4.3/esri/css/main.css"> <script src="https://js.arcgis.com/4.3/"></script><style> #result{ position: absolute; z-index: 99; top: 15px; float: right; right: 10px; border-radius: 6px; text-align: center; background-color: rgba(198, 226, 36, 0.3) } html, body, #viewDiv { padding: 0; margin: 0; height: 100%; width: 100%; } .search{ position: absolute; top: 10px; border-radius: 3px; margin: auto 60px auto; background-color: rgba(230, 36, 62, 0.4) } #ok{ position: relative; left: 60px; }</style> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script><script> require([ "esri/Map", "esri/views/MapView", "esri/symbols/SimpleMarkerSymbol", "esri/Graphic", "esri/geometry/Point", "dojo/domReady!" ], function(Map, MapView,SimpleMarkerSymbol, Graphic, Point) { var map = new Map({ basemap: "streets" }); var view = new MapView({ container: "viewDiv", map: map, zoom: 4, center: [15, 65] }); function addPoint(x,y){ let point = new Point({ longitude:x, latitude: y }), markerSymbol = new SimpleMarkerSymbol({ color: [parseInt(Math.random()*255),parseInt(Math.random()*255),parseInt(Math.random()*255)], outline: { // autocasts as new SimpleLineSymbol() color: [255, 255, 255], width: 2 } }), // Create a graphic and add the geometry and symbol to it pointGraphic = new Graphic({ geometry: point, symbol: markerSymbol }); view.graphics.addMany([pointGraphic]); } $(function(){ $("#ok").click(function(){ var qq=document.getElementById("in").value; var ww=document.getElementById("region").value; $.ajax({ type:"GET", url:"http://api.map.baidu.com/place/v2/search?q="+ww+"®ion="+qq+"&output=json&ak=***", dataType:"jsonp", success:function(data){ document.getElementById("result").innerHTML=null; alert(data); console.log(data); var cc=""; var head="<table class='table table-striped'><th>名称</th><th>lat</th><th>lng</th>"; for(x=0;x<data.results.length;x++){ let a=data.results[x].location.lat,b=data.results[x].location.lng; addPoint(b,a); cc+="<tr>"+"<td>"+data.results[x].name+"</td><td>"+data.results[x].location.lat+"</td><td>"+data.results[x].location.lng+"</td>"+"</tr>"; view.popup.open({ // Set the popup's title to the coordinates of the location title: "Reverse geocode: [" + b+ ", " + a + "]", location: [b,a] // Set the location of the popup to the clicked location }); } document.getElementById("result").innerHTML=head+cc+"</table>"; }, error:function(){ alert("error!"); console.log("error"); } }); }); }); }); </script></head><body> <div id="viewDiv"></div> <div class="search"> <input id="in" class="form-control" placeholder="搜索城市" type="text"> <input type="text" class="form-control" placeholder="搜索建筑" name="pio" id="region"> <button id="ok" class="btn btn-success" style="margin:0 auto">Search</button> </div> <div id="result"> </div></body></html>
实现效果展示
如果读者你还想再优雅一点的话
尝试着将代码优化一下,笔者真是懒了,最近还要考研~
就这样,做一只优雅的刺猬。
需要注意的的呀
- 在异步请求时,你可以选择多种方式
- 在异步请求时,注意跨域问题,如果你足够优雅和聪明,一定会没问题滴哟
在GIS的沙场,传播有价值的东西!
0 0
- 结合arcgis api for js进行PIO搜索
- ArcGIS for js API 3.6
- ArcGIS for js API 3.9
- ArcGIS for js API 3.10
- arcgis api for js 开发
- ArcGIS API for JS 中的style
- arcgis for js api离线部署
- arcgis for js api导入eclipse错误
- arcgis api for js访问速度慢
- ArcGIS for js API 3.7和3.8
- arcgis api for js开发心得
- ArcGIS API for JS 之创建地图
- ArcGIS API for JS 添加地图控件
- ArcGIS API For Js 的PopTemplete擴展
- ArcGIS API for Js 之 QueryTask详解
- ArcGIS API For JS 文本标注换行
- arcgis api for js本地部署
- ArcGIS API FOR JS 加载天地图
- c++ 多重继承(包含虚继承)重载operator==
- 进程间通信的方式有哪些?各自的优缺点及应用选择?
- 蓝桥杯:颠倒的价牌
- Java容器_List_LinkedList源码分析
- 洛谷P1417:优先级与背包问题
- 结合arcgis api for js进行PIO搜索
- Jfinal之 poi render
- PAT 乙级 1024. 科学计数法 (20)
- 系统防刷的一些基本方法
- 姿态解算
- Oil Deposits(dfs)HDU
- maven常用命令
- codeforces 687C (纸币dp)(状态不好想)
- poj 1664 DP