• 百度搜索附近加盟店等基于LBS云搜索功能的实现


    一、注册百度账号,进入开发者平台

    创建应用并获取ak 地址如下

    http://lbsyun.baidu.com/apiconsole/key/update?app-id=7546025

    ok获取到了。

    二、下载SDK ,SDK需要用到哪些功能就用那些功能吧。多的就不需要了

    三、创建LBS云存储数据管理平台

    http://lbsyun.baidu.com/datamanager/datamanage 就在这里

    这里有个细节一定要注意,是否发布到检索:一定要选择是。不然,搜不到。

    其他的,就随意了。表名称随便取。

    PS :一定要注意。开发文档里面的geotable_id 很坑爹,根本不是表中字段。而是表自身的ID 。如上图的129887就是我在发请求的时候URL中的geotable_id ;

        String mUrl = "http://api.map.baidu.com/geosearch/v3/nearby?"
                        + "mcode=2E:06:78:49:8D:ED:17:79:AD:F5:36:3F:57:DA:2B:C1:75:84:0F:3E;com.example.testbaidulbs&"
                        + "ak=VcVHTEysN7hGKIHM3xwYGyOe&geotable_id=129887&location=" 
    //                    + bun.getDouble("longitude") + ","+ bun.getDouble("latitude") 
                        +"121.436494,31.179029"
                        + "&radius=16000000&tags=科信";

    四、开始写代码吧。用代码实现。

    就像上面的。把下载的SDK都给弄进去吧。/

    五、核心代码部分

    if (bun != null) {
                String mUrl = "http://api.map.baidu.com/geosearch/v3/nearby?"
                        + "mcode=2E:06:78:49:8D:ED:17:79:AD:F5:36:3F:57:DA:2B:C1:75:84:0F:3E;com.example.testbaidulbs&"
                        + "ak=VcVHTEysN7hGKIHM3xwYGyOe&geotable_id=129887&location=" 
    //                    + bun.getDouble("longitude") + ","+ bun.getDouble("latitude") 
                        +"121.436494,31.179029"
                        + "&radius=16000000&tags=科信";
                
                HttpGet getMethod = new HttpGet(mUrl); 
                HttpClient httpClient = new DefaultHttpClient(); 
                try { 
                HttpResponse response = httpClient.execute(getMethod); //发起GET请求 
                Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码 
                Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容 
                } catch (ClientProtocolException e) { 
                e.printStackTrace(); 
                } catch (IOException e) { 
                e.printStackTrace(); 
                } 
    
            }

    就是这些。

    获取的数据为:

    result = {"status":0, "total":4, "size":4, "contents":[{"tags":"u79D1u4FE1", "storeId":"1111", "uid":1550413227, "province":"u4E0Au6D77u5E02", "geotable_id":129887, "modify_time":1450944083, "district":"u5F90u6C47u533A", "icon_style_id":"sid1", "create_time":1450936141, "city":"u4E0Au6D77u5E02", "location":[121.44083500000001, 31.177558000000001], "address":"u4E0Au6D77u5E02u5F90u6C47u533Au6F15u6EAAu8DEF222", "title":"u4E0Au6D77u822Au5929u5927u53A6u4F20u5947u5E97", "coord_type":3, "type":0, "distance":444, "weight":0}, {"tags":"u79D1u4FE1", "storeId":"1112", "uid":1550446137, "province":"u4E0Au6D77u5E02", "geotable_id":129887, "district":"u5F90u6C47u533A", "icon_style_id":"sid1", "create_time":1450943961, "city":"u4E0Au6D77u5E02", "location":[121.439735, 31.171541000000001], "address":"u4E0Au6D77u5E02u5F90u6C47u533Au5EB7u5065u8DEF2", "title":"u79D1u4FE11", "coord_type":3, "type":0, "distance":884, "weight":0}, {"tags":"u79D1u4FE1", "storeId":"1113", "uid":1550446928, "province":"u4E0Au6D77u5E02", "geotable_id":129887, "district":"u5F90u6C47u533A", "icon_style_id":"sid1", "create_time":1450944068, "city":"u4E0Au6D77u5E02", "location":[121.436494, 31.179029], "address":"u4E0Au6D77u5E02u5F90u6C47u533Au94A6u5DDEu8DEF584u53F7", "title":"u79D1u4FE12", "coord_type":3, "type":0, "distance":0, "weight":0}, {"tags":"u79D1u4FE1", "uid":1550476157, "province":"u4E0Au6D77u5E02", "geotable_id":129887, "district":"u5F90u6C47u533A", "icon_style_id":"sid1", "create_time":1450947935, "city":"u4E0Au6D77u5E02", "location":[121.440658, 31.177454000000001], "address":"u4E0Au6D77u5E02u5F90u6C47u533Au6F15u6EAAu8DEF222", "title":"u79D1u4FE13", "coord_type":3, "type":0, "distance":433, "weight":0}]}

    这些数据都是上面图上自己加进去的字段,当然还有一些距离。。

    效果图就不上了。数据获取到了,界面的话,就可以自己随便搞了。说明一下。这个功能就是和美团等一样。索搜附近的商家。

    而这里建的一个表,主要是放自己提交的商家,这样就可以不搜索其他商家了。

    源码地址:

    http://download.csdn.net/detail/shoneworn/9452337

    有需要的可以联系我呀。

  • 相关阅读:
    mysql高可用探究(五)Heartbeat+DRBD+mysql高可用方案
    利用DELL的OMSA监控服务器的温度
    MYSQL高可用方案探究(七)参考文献
    Asp.net中网站级异常捕获
    短信猫编程注意事项
    请保持Asp.net MVC中View的可读性
    SQLite.net使用注意事项
    GSM模块SMS相关AT命令使用说明(转)
    不要再让我们听到抽胆黑熊的哭泣
    QT的正则表达式陷阱
  • 原文地址:https://www.cnblogs.com/shoneworn/p/baidulbs.html
Copyright © 2020-2023  润新知