高德地图根据关键词坐标拾取小工具

今天早上在写代码的时候,需要用到地图坐标拾取工具,我们用的是搞的地图,在高德地图API官方网站中没有找到相关的坐标拾取工具。在网上找到这么个小工具,与大家分享下!

CSS

 1  html { background-color: #fff; }
 2         body, div, h1, h2, h3, h4, ul, li, form, input, dl, dt, dd, p { margin: 0; padding: 0; font-family: 微软雅黑; }
 3         h3 { +font-size:14px; _font-size: 14px; }
 4         img { border: none; }
 5         .c { clear: both; }
 6         ul, ol, li { list-style: none; }
 7         .clearfix:after { content: "."; visibility: hidden; display: block; height: 0; overflow: hidden; clear: both; }
 8         * html .clearfix { height: 1%; }
 9         * + html .clearfix { height: 1%; }
10         body { font: 12px/1.5em 微软雅黑,Arial,Verdana,Helvetica,sans-serif; color: #333; }
11         button, input, select, textarea { color: #999; }
12         input[type="button"] { padding: 0 5px; color: #333; }
13         .demo_box { width: 360px; }
14         #iCenter { width: 100%; height: 100%; border: 1px solid #F6F6F6; }
15         #r_title { line-height: 28px; padding-left: 5px; background-color: #D1EEEE; font-weight: bold; }
16         #result { overflow: auto; margin-bottom: 5px; /*    width:661px;*/ height: 500px; }
17         #result .sub_result { font-size: 12px; cursor: pointer; line-height: 20px; /*padding:0px 0 4px 2px;*/ border-bottom: 1px solid #C1FFC1; }
18         #result .sub_result .detail { }
19         #result .sub_result .detail h3 { color: #00A6AC; }
20         a { color: #067EC0; text-decoration: none; }
21         a:hover { text-decoration: underline; }
22         .note { color: #999; }
23         div.change { background-image: url(http://pages.haozu.ajkcdn.com/20110909/img/map/marker-h.png); }
24         div.change div { background-image: url(http://pages.haozu.ajkcdn.com/20110909/img/map/marker-h-l.gif); }
25         .markerContentStyle { position: relative; }
26         .markerContentStyle span { background-color: #FFFFFF; color: #FF1493; width: 120px; heigth: 80px; border: 2px solid #D8BFD8; FONT-FAMILY: 华文行楷; position: absolute; top: -10px; left: 25px; white-space: nowrap -webkit-border-radius:5px; border-radius: 5px; }
27         div.info { position: relative; z-index: 100; border: 1px solid #BCBCBC; box-shadow: 0 0 10px #B7B6B6; border-radius: 8px; background: rgb(255,255,255); /* The Fallback */ background-color: rgba(255,255,255,0.9); transition-duration: 0.25s; }
28         div.info:hover { box-shadow: 0px 0px 15px #0CF; }
29         div.info-top { position: relative; background: none repeat scroll 0 0 #F9F9F9; border-bottom: 1px solid #CCC; border-radius: 5px 5px 0 0; }
30         div.info-top div { display: inline-block; color: #333333; font-size: 14px; font-weight: bold; line-height: 31px; padding: 0 10px; }
31         div.info-top img { position: absolute; top: 10px; right: 10px; transition-duration: 0.25s; }
32         div.info-top img:hover { box-shadow: 0px 0px 5px #000; }
33         div.info-middle { font-size: 12px; padding: 10px; line-height: 21px; }
34         div.info-bottom { height: 0px; width: 100%; clear: both; text-align: center; }
35         div.info-bottom img { position: relative; z-index: 104; }
36         table { height: 100%; }
37         html, body { height: 100%; margin: 0px; padding: 0px; }
38         .STYLE1 { color: #F3F3F3; }

JS

 1 var mapObj;
 2         var marker = new Array();
 3         var windowsArr = new Array();
 4         //基本地图加载
 5         function mapInit() {
 6             mapObj = new AMap.Map("iCenter");
 7             //AMap.event.addListener(mapObj,‘click‘,getLnglat);
 8         }
 9         function placeSearch() {
10             var MSearch;
11             mapObj.plugin(["AMap.PlaceSearch"], function () {
12                 MSearch = new AMap.PlaceSearch({ //构造地点查询类
13                     pageSize: 10,
14                     pageIndex: 1,
15                     city: "021" //城市
16                 });
17                 AMap.event.addListener(MSearch, "complete", keywordSearch_CallBack);//返回地点查询结果
18                 var searchName = document.all.searchText.value;//查询关键字
19                 MSearch.search(searchName); //关键字查询
20             });
21         }
22         //添加marker&infowindow
23         function addmarker(i, d) {
24             var lngX = d.location.getLng();
25             var latY = d.location.getLat();
26             var markerOption = {
27                 map: mapObj,
28                 icon: "http://webapi.amap.com/images/" + (i + 1) + ".png",
29                 position: new AMap.LngLat(lngX, latY)
30             };
31
32             var mar = new AMap.Marker(markerOption);
33             marker.push(new AMap.LngLat(lngX, latY));
34
35             var infoWindow = new AMap.InfoWindow({
36                 content: "<h3><font color=\"#00a6ac\">  " + (i + 1) + ". " + d.name + "</font></h3>" + TipContents(d.type, d.address, d.tel),
37                 size: new AMap.Size(300, 0),
38                 autoMove: true,
39                 offset: new AMap.Pixel(0, -30)
40             });
41             windowsArr.push(infoWindow);
42             var aa = function (e) { infoWindow.open(mapObj, mar.getPosition()); };
43             AMap.event.addListener(mar, "click", aa);
44             AMap.event.addListener(mar, ‘click‘, getLnglat);
45         }
46         //回调函数
47         function keywordSearch_CallBack(data) {
48             var resultStr = "";
49             var poiArr = data.poiList.pois;
50             var resultCount = poiArr.length;
51             for (var i = 0; i < resultCount; i++) {
52                 resultStr += "<div id=‘divid" + (i + 1) + "‘ onclick=‘openMarkerTipById1(" + i + ",this)‘ onmouseout=‘onmouseout_MarkerStyle(" + (i + 1) + ",this)‘ style=\"font-size: 12px;cursor:pointer;padding:0px 0 4px 2px; border-bottom:1px solid #C1FFC1;\"><table><tr><td><img src=\"http://webapi.amap.com/images/" + (i + 1) + ".png\"></td>" + "<td><h3><font color=\"#00a6ac\">名称: " + poiArr[i].name + "</font></h3>";
53                 resultStr += TipContents(poiArr[i].type, poiArr[i].address, poiArr[i].tel) + "</td></tr></table></div>";
54                 addmarker(i, poiArr[i]);
55             }
56             mapObj.setFitView();
57             document.getElementById("result").innerHTML = resultStr;
58
59         }
60         function TipContents(type, address, tel) {  //窗体内容
61             if (type == "" || type == "undefined" || type == null || type == " undefined" || typeof type == "undefined") {
62                 type = "暂无";
63             }
64             if (address == "" || address == "undefined" || address == null || address == " undefined" || typeof address == "undefined") {
65                 address = "暂无";
66             }
67             if (tel == "" || tel == "undefined" || tel == null || tel == " undefined" || typeof address == "tel") {
68                 tel = "暂无";
69             }
70             var str = "  地址:" + address + "<br />  电话:" + tel + " <br />  类型:" + type;
71             return str;
72         }
73         function openMarkerTipById1(pointid, thiss) {  //根据id 打开搜索结果点tip
74             thiss.style.background = ‘#CAE1FF‘;
75             windowsArr[pointid].open(mapObj, marker[pointid]);
76
77             //result中每个div触发的事件
78             document.getElementById("lngX").value = marker[pointid].getLng();
79             document.getElementById("latY").value = marker[pointid].getLat();
80
81         }
82         function onmouseout_MarkerStyle(pointid, thiss) { //鼠标移开后点样式恢复
83             thiss.style.background = "";
84         }
85         //鼠标在地图上点击,获取经纬度坐标
86         function getLnglat(e) {
87             document.getElementById("lngX").value = e.lnglat.getLng();
88             document.getElementById("latY").value = e.lnglat.getLat();
89         }
90
91         //关闭页面
92         function CloseWind() {
93             var lat = document.getElementById("lngX").value;
94             var lon = document.getElementById("latY").value;
95             opener.setValue(lat + "," + lon);
96             window.close();
97
98         }

HTML

 1 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.2&key=XXXXXXX"></script>
 2     <table width="100%" border="0" cellspacing="0" cellpadding="0">
 3         <tr>
 4             <td colspan="2" height="50">
 5                 <br>
 6                 高德地图:<input type="text" name="searchText">
 7                 <input type="button" value="查询" onclick="placeSearch()" /> 输入位置信息
 8                 <br><br>地图经纬度坐标: X:<input type="text" id="lngX" name="lngX" /> Y:<input type="text" id="latY" name="latY" />
 9                 <input type="button" name="btn_Close" id="btn_Close" value="确定,并关闭页面" onclick="CloseWind();" /> *选择正确地点之后,请点击该按钮
10             </td>
11         </tr>
12         <tr>
13             <td width="70%" height="500"> <div style="height:100%" id="iCenter"></div></td>
14             <td valign="top">
15                 <div class="demo_box">
16                     <div id="r_title"><b>关键字查询结果:</b></div>
17                     <div id="result"> </div>
18                 </div>
19                 <span class="STYLE1"></span>
20             </td>
21         </tr>
22     </table>

程序员淘宝店:http://iduds.taobao.com

时间: 2024-11-05 21:57:30

高德地图根据关键词坐标拾取小工具的相关文章

利用高德地图通过给定坐标点画带箭头方向的路径

这是到新公司以后接到的第一个任务(测试任务),嘿嘿,第一次画地图,一开始整个人都方了...方过了一个周末,还好两天差不多就弄出来了.感谢互联网啊,让我这种渣渣得以继续生存,但是也意识到自己编码能力真的需要努力.废话不多说了,来上需求和实现代码吧. [需求] 通过给定的经纬度坐标点来自定义规划线路,要求,道路中有方向指向标志,如图: [思路] 1.渲染地图进来 2.在地图上选取你要的坐标点,并在地图上打上坐标点 3.根据获取的坐标点经纬度连线,并选择箭头属性为true [代码] <!doctype

【转】根据高德地图得出的坐标算出两点之间的距离

摘自 http://blog.csdn.net/u012251421/article/details/41242891 public static string GetDistance(double n1, double e1, double n2, double e2) { double lon1 = (Math.PI / 180) * n1; double lon2 = (Math.PI / 180) * n2; double lat1 = (Math.PI / 180) * e1; dou

地图开发 火星坐标(GCJ-02)和百度坐标(BD-09)互相转换

■ 背景 国际坐标系 WGS-84:地心坐标系,国际通用.应用:Googole Map 火星坐标系 GCJ-02:由中国×××(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统.应用:高德地图 百度坐标系 BD-09:在GCJ-02的基础上二次偏移.应用:百度地图 ■ GCJ-02和BD-09互相转换 (js) // 高德地图坐标系(火星坐标GCJ-02) -> 百度地图坐标系(百度坐标BD-09) // 参数形式为"lng,lat" //

【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------------------------------------------------------------------------------------------------------- 哇,好久没有上来了.主要是因为最近工作繁忙,加上休息时间被各种排练.社团活动占满,导致木有更新此博客.

高德坐标拾取器

页面效果 应用场景:你需要在一个弹窗中拾取一个高德的地址坐标. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>酸奶小妹的火星坐标</title> 6 <script type="text/javas

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

坑爹的高德地图坐标获取

想要把一个地点在地图上表示出来,就必须先要获取到这个地点的坐标,今天发现百度地图和高德地图所采用的坐标体系完全不相同,之所以会发现这个问题是因为我找了半天找不到高德的坐标拾取器(http://lbs.amap.com/console/show/picker),所以坐标是在百度地图上取到的,结果自然就思密达了. 虽然高德和百度都采用的是国测局制定的GCJ-02体系,但是百度自己又在此基础上进行了BD-09二次加密,所以百度地图上获取到的坐标不是真实的GPS坐标,所以百度地图的坐标不能直接在高德地图

高德地图兴趣点搜索(PoiSearch)小例子

目前我们项目上在做一个兴趣点搜索的小功能(搜索附近的电影院),用的是高德地图,为了便于记忆,就写下来.功能及页面都很简单,就是在输入框中输入内容,然后就会搜索出附近相关的位置,然后在ListView中展示出来.项目中使用的是分页加载,为了写文章方便,就把加载去掉了,直接用ListView展示出来. ----------------------------------界面布局--------------------------------------- <?xml version="1.0&

【API】高德地图API JS实现获取坐标和回显点标记

1.搜索+选择+获取经纬度和详细地址 2.回显数据并点标记 3.实现 第一步:引入资源文件 <!--引入高德地图JSAPI --><script src="//webapi.amap.com/maps?v=1.3&key=在官网申请一个key"></script><!--引入UI组件库(1.0版本) --><script src="//webapi.amap.com/ui/1.0/main.js">