天地图API搜索。定位等
empty
地图API调用
.search{font-size:13px; border:1px solid #999999;}
.ls{line-height:27px; padding-left:7px;}
.prompt{display: none; font-size:13px; border:1px solid #999999;}
.statistics{display: none; font-size:13px; border:1px solid #999999; overflow-y: scroll; height:150px;}
.suggests{display: none; font-size:13px; border:1px solid #999999;};
.lineData{display: none; font-size:13px; border:1px solid #999999;}
.result{display:none; font-size:12px; border:1px solid #999999; line-height:27px; padding-left:7px;}
<script type="text/javascript" src="http://api.tianditu.com/js/maps.js"></script>
<script type="text/javascript" src="http://api.tianditu.com/js/service.js"></script>
<script type="text/javascript" src="http://api.tianditu.com/api?v=4.0"></script>
<script>
var map;
var zoom = 12;
var localsearch;
function onLoad()
{
//初始化地图对象
map=new TMap("mapDiv");
//设置显示地图的中心点和级别
map.centerAndZoom(new TLngLat(116.40969,39.89945),zoom);
//创建比例尺控件对象
var scale = new TScaleControl();
//添加比例尺控件
map.addControl(scale);
//地图定位
navigator.geolocation.getCurrentPosition(function(position){
var y = position.coords.longitude;//经度
var x = position.coords.latitude;//维度
console.log(y,x);
//设置显示地图的中心点和级别
map.centerAndZoom(new TLngLat(y,x),zoom);
//允许鼠标滚轮缩放地图
//map.enableHandleMouseScroll();
//向地图上添加自定义标注
var marker1 = new TMarker(new TLngLat(y,x));
//向地图上添加标注
map.addOverLay(marker1);
});
//地图搜索
var config = {
pageCapacity:10, //每页显示的数量
onSearchComplete:localSearchResult //接收数据的回调函数
};
//创建搜索对象
localsearch = new TLocalSearch(map,config);
//设置鹰眼
var config1 = {
anchor: "TMAP_ANCHOR_BOTTOM_RIGHT", //设置鹰眼位置,"TMAP_ANCHOR_TOP_LEFT"表示左上,"TMAP_ANCHOR_TOP_RIGHT"表示右上,"TMAP_ANCHOR_BOTTOM_LEFT"表示左下,"TMAP_ANCHOR_BOTTOM_RIGHT"表示右下,"TMAP_ANCHOR_LEFT"表示左边,"TMAP_ANCHOR_TOP"表示上边,"TMAP_ANCHOR_RIGHT"表示右边,"TMAP_ANCHOR_BOTTOM"表示下边,"TMAP_ANCHOR_OFFSET"表示自定 义位置,默认值为"TMAP_ANCHOR_BOTTOM_RIGHT"
size : new TSize(180,120), //鹰眼显示的大小
isOpen : true //鹰眼是否打开,true表示打开,false表示关闭,默认为关闭
};
//创建鹰眼控件对象
overviewMap = new TOverviewMapControl(config1);
//添加鹰眼控件
map.addControl(overviewMap);
//逆地理编码
//创建对象
geocode = new TGeocoder();
//监听鼠标点击事件
TEvent.addListener(map, "click", function(point){
var lnglat = map.fromContainerPixelToLngLat(point);
geocode.getLocation(lnglat,searchResult);
});
//缩放平移控件
var config2 = {
type:"TMAP_NAVIGATION_CONTROL_LARGE", //缩放平移的显示类型
anchor:"TMAP_ANCHOR_TOP_LEFT", //缩放平移控件显示的位置
offset:[0,0], //缩放平移控件的偏移值
showZoomInfo:true //是否显示级别提示信息,true表示显示,false表示隐藏。
};
//创建缩放平移控件对象
control=new TNavigationControl(config2);
//添加缩放平移控件
map.addControl(control);
}
function localSearchResult(result)
{
//清空地图及搜索列表
clearAll();
//添加提示词
prompt(result);
//根据返回类型解析搜索结果
switch(parseInt(result.getResultType()))
{
case 1:
//解析点数据结果
pois(result.getPois());
break;
case 2:
//解析推荐城市
statistics(result.getStatistics());
break;
case 3:
//解析行政区划边界
area(result.getArea());
break;
case 4:
//解析建议词信息
suggests(result.getSuggests());
break;
case 5:
//解析公交信息
lineData(result.getLineData());
break;
}
}
//解析提示词
function prompt(obj)
{
var prompts = obj.getPrompt();
if(prompts)
{
var promptHtml = "";
for(var i=0;i搜索更多包含"+obj.getKeyword()+"的相关内容?";
}
else if(promptType == 2)
{
promptHtml += "
在"+promptAdmins[0].name+"没有搜索到与"+obj.getKeyword()+"相关的结果。
";
if(meanprompt)
{
promptHtml += "
您是否要找:"+meanprompt+"
";
}
}
else if(promptType == 3)
{
promptHtml += "
有以下相关结果,您是否要找:
"
for(i=0;i";
}
}
}
if(promptHtml != "")
{
document.getElementById("promptDiv").style.display = "block";
document.getElementById("promptDiv").innerHTML = promptHtml;
}
}
}
//解析点数据结果
function pois(obj)
{
if(obj)
{
//显示搜索列表
var divMarker = document.createElement("div");
//坐标数组,设置最佳比例尺时会用到
var zoomArr = [];
for(var i=0;i";
}
priorityCitysHtml += "";
}
var allAdmins = obj.allAdmins;
if(allAdmins)
{
allAdminsHtml += "更多城市
"; for(var i=0;i"; } } allAdminsHtml += "" } allAdminsHtml += "
"; } document.getElementById("statisticsDiv").style.display = "block"; document.getElementById("statisticsDiv").innerHTML = priorityCitysHtml + allAdminsHtml; } } //解析行政区划边界 function area(obj) { if(obj) { //坐标数组,设置最佳比例尺时会用到 var pointsArr = []; var points = obj.points; for(var i=0;i"+obj[i].address+""; } suggestsHtml += ""; document.getElementById("suggestsDiv").style.display = "block"; document.getElementById("suggestsDiv").innerHTML = suggestsHtml; } } //解析公交信息 function lineData(obj) { if(obj) { //公交提示 var lineDataHtml = "公交提示
"; for(var i=0;i共"+obj[i].stationNum+"站"; } lineDataHtml += "
"; document.getElementById("lineDataDiv").style.display = "block"; document.getElementById("lineDataDiv").innerHTML = lineDataHtml; } } //查询 //清空地图及搜索列表 function clearAll() { map.clearOverLays(); document.getElementById("searchDiv").innerHTML = ""; document.getElementById("resultDiv").style.display = "none"; document.getElementById("statisticsDiv").innerHTML = ""; document.getElementById("statisticsDiv").style.display = "none"; document.getElementById("promptDiv").innerHTML = ""; document.getElementById("promptDiv").style.display = "none"; document.getElementById("suggestsDiv").innerHTML = ""; document.getElementById("suggestsDiv").style.display = "none"; document.getElementById("lineDataDiv").innerHTML = ""; document.getElementById("lineDataDiv").style.display = "none"; } //获取当前中心点坐标 function getMapCenter() { alert("当前地图中心点:" + map.getCenter().getLng() + "," + map.getCenter().getLat()); } //逆地理编码 function searchResult(result) { if(result.getStatus() == 0) { document.getElementById("addressMsg").innerHTML = "详细地址: "+result.getAddress(); var addressComponent = result.getAddressComponent(); var html = "详细信息如下:"; html += "此点最近地点信息:"+addressComponent.address+""; html += "此点距离最近地点信息距离:"+addressComponent.address_distance+"米/font>"; html += "此点在最近地点信息方向:"+addressComponent.address_position+""; html += "此点所在国家或城市或区县:"+addressComponent.city+""; html += "距离此点最近poi点:"+addressComponent.poi+""; html += "距离此点最近poi点的距离:"+addressComponent.poi_distance+"米"; html += "此点在最近poi点的方向:"+addressComponent.poi_position+""; html += "距离此点最近的路:"+addressComponent.road+""; html += "此点距离此路的距离:"+addressComponent.road_distance+"米"; document.getElementById("detailedAddress").innerHTML = html; } else { result.getMsg(); } } //缩放平移 function addNavControl() { map.removeControl(control); //获得缩放平移控件的样式 var selectNavCss = document.getElementById("selectnavcss"); var index = selectNavCss.selectedIndex; var controlCss = selectNavCss.options[index].value; //获得缩放平移控件的位置 var selectNavPosition = document.getElementById("selectnavposition"); var index = selectNavPosition.selectedIndex; var controlPosition = selectNavPosition.options[index].value; //添加缩放平移控件 var config = { type:controlCss, //缩放平移控件的显示类型 anchor:controlPosition //缩放平移控件显示的位置 }; control = new TNavigationControl(config); map.addControl(control); } </script>
搜索内容:
转到第页
天地图API搜索。定位等相关推荐
- iOS-高德地图API的定位与搜索功能
环境: Xcode10.1 Swift4.2 真机6s,ios11 Demo:https://github.com/cxymq/AmapSwift 高德地图API使用 需要(https://lbs.a ...
- 百度地图api搜索地址定位
下载地址百度地图api地址搜索定位示例,选择公司名称地图上显示对应地址 dd:
- 高德地图怎么搜索marker_2018-07-06 高德地图搜索定位,滑动地图显示周边信息,根据地址搜经...
emmmm,效果图先行(搜索定位以及自由滑动地图展示周边位置信息,根据点击的位置获取经纬度) aa.gif 主要代码package com.dydd.wsp.dreamtree.ui.mapimpor ...
- 007:Mapbox GL实现地图地点搜索定位功能
第007个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中实现地图地点搜索定位功能 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果 配 ...
- 高德地图Amap搜索定位
在前一篇的基础上加入了搜索提示,和通过搜索定位 前文: https://blog.csdn.net/Zdelta/article/details/87072653 加入搜索: 1,引入js //引入高 ...
- 分享一个可以自定义搜索定位的地图
分享一个可以自定义搜索定位的地图 前面的申请ak密钥步骤都是一致的,这里就不重复描述了,可以通过下面的链接看具体步骤然后复制本篇下面的代码 https://blog.csdn.net/weixin_4 ...
- react Amap引入高德地图,并实现搜索定位。
react 引入高德地图,并实现搜索定位 一.react 引入Amap: Amap官方地址:https://elemefe.github.io/react-amap/articles/start 按照 ...
- 获取天地图API并调用不同的地图API接口
文章目录 概要 1.如何获取地图API 2.如何使用天地图API 2.1 注意请求示例中的代码 概要 本篇文章主要是想将我在学习webGIS过程只能遇到的一些问题分享给需要的朋友,喜欢的可以点赞给点鼓 ...
- 微信有电脑客户端吗_微信公众号文章下载、打印、精确搜索定位与交流方式分享...
点"考研竞赛数学"↑可每天"涨姿势"哦! 封面图来源:pexels.com [注]以下操作适用于所有公众号 一.电子文档下载打印 咱号一直不赞成积累电子文档,而 ...
- Leaflet中使用leaflet-search插件实现搜索定位效果
场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,怎样使用插件实现搜索定位效果 ...
最新文章
- LeetCode简单题之赎金信
- Python之常用的高阶函数——abs、map、reduce、filter、sorted
- linq where 数组_C#中LINQ与数据管道
- java随机抽题系统_在用java做一个在线考试系统,随机抽题遇到了问题,我写了一个随机抽题的方法,不知道在asp按钮中怎么用...
- MongoDB存在使用Mongo Shell和Java驱动程序的示例
- 聚类(2)-- Fuzzy k-means clustering
- Android UI设计中一些不错的示例及第三方控件
- lstm预测单词_从零开始理解单词嵌入| LSTM模型|
- 小程序毕设作品之微信积分商城小程序毕业设计成品(6)开题答辩PPT
- 训练:Training Volume Landmarks for Muscle Growth - Renaissance Periodization论文阅读
- [已解决] Could not create connection to database server.
- 社科院与杜兰大学金融管理硕士项目——苦练基本功是通向成功的必经之路
- 儿童学计算机编程好处,儿童学习编程有什么好处
- h5案例分享 华谊电影《老炮儿》约战
- BIM+GIS技术融合发展 成为工程规划建设新热点
- [IT学习]从网上获取pdf制作vce文件
- uni-app 滑到一定位置固定某个元素在顶部 吸顶解决方案 APP端 H5端
- 福建2013年度翻译专业资格考试工作通知
- EN 45545-2:2020 T11烟毒性检测
- bzoj 4398 福慧双修 —— 二进制分组+多起点最短路