5.10 获取百度地图某一关键词的全国数据

在百度地图的JavaScript API中,可以根据城市定位来搜索所在城市的关键词列表,但是如果想要获取全国的数据却没有这个接口,我的思路是先获取某一个关键词的城市列表,然后遍历城市列表查询该关键词,所得数据即为全国数据。

以下为获取百度地图全国留守儿童关键词数据为例:

<!DOCTYPE html>  
<html>  
<head>  
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Hello, World</title>  
<style type="text/css">  
html{height:100%}  
body{height:100%;margin:0px;padding:0px}  
#container{height:100%}  
</style>  
<script type="text/javascript" src="hashMap.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=此处改成你的密钥">
    //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=此处改成你的密钥"
    //v1.4版本及以前版本的引用方式:src="http://api.map.baidu.com/api?v=1.4&key=此处改成你的密钥&callback=initialize"
</script>
</head>  

<body>  
<div id="container"></div> 
<script type="text/javascript">

         var map = new BMap.Map("container");          
        map.centerAndZoom(new BMap.Point(116.404, 39.915),6);
        map.addControl(new BMap.NavigationControl());    
        map.addControl(new BMap.ScaleControl());    
        map.addControl(new BMap.OverviewMapControl()); 


        var cityList=[];        //城市列表
        var options1 = {
            onSearchComplete: function (results) {
                for (var i = 0; i < results.vQ.length; i++) {
                    cityList.push(results.vQ[i].city);
                }
                alert(cityList.length);
            } 
        };      
        var local1 = new BMap.LocalSearch("中国", options1);      
        local1.search("留守儿童");

        var s = [];         //最终信息的保存数组
        function qurey(name){
        var options2 = {
            onSearchComplete: function (results) {
                if (local2.getStatus() == BMAP_STATUS_SUCCESS) {
                    // 判断状态是否正确                          
                    for (var i = 0; i < results.getCurrentNumPois(); i++) {
                        s.push(results.getPoi(i).city + ","+results.getPoi(i).title + "," + results.getPoi(i).address + "," + results.getPoi(i).point.lat + ","+results.getPoi(i).point.lng);
                        var marker = new BMap.Marker(new BMap.Point(results.getPoi(i).point.lng, results.getPoi(i).point.lat));
                        map.addOverlay(marker);
                    }
                    document.getElementById("log").innerHTML = s.join("<br>");
                }
            } 

        };      
        var local2 = new BMap.LocalSearch(name, options2); 
        local2.setPageCapacity(100);     
        local2.search("留守儿童");
        }


        //遍历城市列表
        function searchAllcity(){               
                for (var c in cityList) {
                    var city=cityList[c];
                    qurey(city);
                }
        }
</script> 
<div id="log">
    <input type="button" onclick="searchAllcity()" value="获取"></input>
</div> 
</body>  
</html>

得到:
这里写图片描述

这里写图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带着天使反上帝 - Kaybee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值