分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04

简介:介绍如何使用LBS.云检索用户自有数据。

详述:

(1)LBS.云是百度地图针对LBS开发者推出的平台级服务;

(2)提供海量位置数据存储、检索、展示一体化解决方案;

(3)该服务对开发者免费开放;

(4)Demo中放入了测试用ak,开发者若使用自己的数据,请更换为自己的ak;

(5)LBS.云检索使用方法请参考开发指南“LBS云服务”部分;

(6)详细了解LBS.云,欢迎访问:http://developer.baidu.com/map/lbs-cloud.htm

(7)申请ak及管理数据等问题,欢迎访问LBS开放平台官网:http://lbsyun.baidu.com/

一、运行截图

本示例运行截图如下:

二、设计步骤

1、添加demo22_cloud_search.xml文件

在layout文件夹下添加该文件,代码不再列出。

2、添加Demo22CloudSearch.cs文件

在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:

using Android.App;
using Android.Content;
using Android.OS;
using Android.Widget;
namespace BdMapV371Demos.SrcSdkDemos
{
[Activity(Label = "@string/title_activity_cloud_search_demo")]
public class Demo22CloudSearch : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.demo22_cloud_search);
FindViewById<Button>(Resource.Id.startCloudSearchDemo).Click += delegate
{
Intent intent = new Intent();
intent.SetClass(this, typeof(Demo22CloudSearchActivity));
StartActivity(intent);
};
}
}
}

3、添加Demo22CloudSearchActivity.cs文件

在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:

using Android.App;
using Android.Content.PM;
using Android.OS;
using Android.Util;
using Android.Widget;
using Com.Baidu.Mapapi.Cloud;
using Com.Baidu.Mapapi.Map;
using Com.Baidu.Mapapi.Model;
namespace BdMapV371Demos.SrcSdkDemos
{
[Activity(Label = "@string/demo_name_cloud",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
ScreenOrientation = ScreenOrientation.Sensor)]
public class Demo22CloudSearchActivity : Activity, ICloudListener
{
private static readonly string LTAG = nameof(Demo22CloudSearchActivity);
private TextureMapView mMapView;
private BaiduMap mBaiduMap;
protected override void OnCreate(Bundle icicle)
{
base.OnCreate(icicle);
SetContentView(Resource.Layout.demo22_lbssearch);
CloudManager.Instance.Init(this);
mMapView = FindViewById<TextureMapView>(Resource.Id.bmapView);
mBaiduMap = mMapView.Map;
FindViewById(Resource.Id.regionSearch).Click += delegate
{
LocalSearchInfo info = new LocalSearchInfo();
info.Ak = "B266f735e43ab207ec152deff44fec8b";
info.GeoTableId = ;
info.Tags = "";
info.Q = "天安门";
info.Region = "北京市";
CloudManager.Instance.LocalSearch(info);
};
FindViewById(Resource.Id.regionSearch).Click += delegate
{
LocalSearchInfo info = new LocalSearchInfo();
info.Ak = "B266f735e43ab207ec152deff44fec8b";
info.GeoTableId = ;
info.Tags = "";
info.Q = "天安门";
info.Region = "北京市";
CloudManager.Instance.LocalSearch(info);
};
FindViewById(Resource.Id.nearbySearch).Click += delegate
{
NearbySearchInfo info = new NearbySearchInfo();
info.Ak = "D9ace96891048231e8777291cda45ca0";
info.GeoTableId = ;
info.Radius = ;
info.Location = "116.403689,39.914957";
CloudManager.Instance.NearbySearch(info);
};
FindViewById(Resource.Id.boundsSearch).Click += delegate
{
BoundSearchInfo info = new BoundSearchInfo();
info.Ak = "B266f735e43ab207ec152deff44fec8b";
info.GeoTableId = ;
info.Q = "天安门";
info.Bound = "116.401663,39.913961;116.406529,39.917396";
CloudManager.Instance.BoundSearch(info);
};
FindViewById(Resource.Id.detailsSearch).Click += delegate
{
DetailSearchInfo info = new DetailSearchInfo();
info.Ak = "B266f735e43ab207ec152deff44fec8b";
info.GeoTableId = ;
info.Uid = ;
CloudManager.Instance.DetailSearch(info);
};
}
protected override void OnDestroy()
{
base.OnDestroy();
mMapView.OnDestroy();
CloudManager.Instance.Destroy();
}
protected override void OnPause()
{
base.OnPause();
mMapView.OnPause();
}
protected override void OnResume()
{
base.OnResume();
mMapView.OnResume();
}
public void OnGetDetailSearchResult(DetailSearchResult result, int error)
{
if (result != null)
{
if (result.PoiInfo != null)
{
Toast.MakeText(this, result.PoiInfo.Title, ToastLength.Short).Show();
}
else
{
Toast.MakeText(this, "status:" + result.Status, ToastLength.Short).Show();
}
}
}
public void OnGetSearchResult(CloudSearchResult result, int error)
{
if (result != null && result.PoiList != null && result.PoiList.Count > )
{
Log.Debug(LTAG, "onGetSearchResult, result length: " + result.PoiList.Count);
mBaiduMap.Clear();
BitmapDescriptor bd = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_gcoding);
LatLng ll;
LatLngBounds.Builder builder = new LatLngBounds.Builder();
foreach (CloudPoiInfo info in result.PoiList)
{
ll = new LatLng(info.Latitude, info.Longitude);
OverlayOptions oo = new MarkerOptions().InvokeIcon(bd).InvokePosition(ll);
mBaiduMap.AddOverlay(oo);
builder.Include(ll);
}
LatLngBounds bounds = builder.Build();
MapStatusUpdate u = MapStatusUpdateFactory.NewLatLngBounds(bounds);
mBaiduMap.AnimateMapStatus(u);
}
}
}
}

4、修改MainActivity.cs文件

在MainActivity.cs文件的demos字段定义中,去掉【示例22】下面的注释。

运行观察效果。

【Android】3.22 示例22--LBS云检索功能的更多相关文章

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

    一.注册百度账号,进入开发者平台 创建应用并获取ak 地址如下 http://lbsyun.baidu.com/apiconsole/key/update?app-id=7546025 ok获取到了. ...

  2. 百度地图 Android SDK - 检索功能使用的简单演示样例

    百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...

  3. 高德携手阿里云发布“LBS云”,账户打通只是第一步

    位置.游戏.视频,是公认的基于云计算的三大移动端应用方向.而今,LBS云有了更多进展,在高价值应用与云平台之间实现了资源打通和融合,高德迈出了实质性的一步. 高德地图副总裁郄建军(左)与阿里云业务总经 ...

  4. 百度地图LBS云平台读写数据操作类

    最近写了个叫<行踪记录仪>的手机软件,用了百度云来记录每个用户的最近位置,以便各用户能在地图上找到附近的人,为此写了个类来读写数据,大致如下: import java.util.Array ...

  5. aaronyang的百度地图API之LBS云 笔记[位置数据 geotable]

    位置数据表 geotable  DEMO下载 我们再创建一个 leverTerminal表 添加 手机价格,手机型号,手机唯一码,用户id 新建一个html页面,引入最新的jquery包,1.8.2以 ...

  6. lambda的使用ret = filter(lambda x : x > 22 ,[11,22,33,44])

    #!/usr/bin/env python #def f1(x) : # return x > 22 ret = filter(lambda x : x > 22 ,[11,22,33,4 ...

  7. 百度——LBS.云 v2.0——创建自己的地理云数据

    随着云技术和地理信息(GIS)技术的发展,今年终于进入了.地理分享的新纪元.百度提供了LBS的云存储.真是个不错的功能.下面让我们来看看如何使用吧. 1.注册百度开发者账号(此处略去88个字) 2.创 ...

  8. Android的深度定制版阿里云os(Android的山寨)

    阿里云OS(YunOS)是阿里巴巴集团的智能手机操作系统,依托于阿里巴巴集团电子商务领域积累的经验和强大的云计算平台,基于LINUX开发. 魅族4阿里yun OS版已上市.[1] 1简介 阿 里云OS ...

  9. 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)

    上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...

随机推荐

  1. springboot项目启动报错

    启动springboot项目报错: NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter ...

  2. linux驱动杂项

    linux驱动 结构体中的逗号 http://zhouyang340.blog.163.com/blog/static/3024095920123495051607/ 下面我们看一个例子,Linux- ...

  3. PHP高级教程-Cookie

    PHP Cookie cookie 常用于识别用户. Cookie 是什么? cookie 常用于识别用户.cookie 是一种服务器留在用户计算机上的小文件.每当同一台计算机通过浏览器请求页面时,这 ...

  4. alias的使用

    alias,即别名.可以通过较短的别名,来实现对应的真实的命令.将alias定义在.bash_profile文件中,即可在任意目录下执行自己定义的这些命令了. 1. 命令 alias myDir='c ...

  5. 服务名无效。请键入 NET HELPMSG 2185 以获得更多的帮助。

    1:关闭MySQL服务的时候出现“服务名无效.请键入 NET HELPMSG 2185 以获得更多的帮助.”错误. 2:查看服务名称 3:重新关闭服务 4:管理员运行控制台后重新执行 成功停掉了.

  6. margin和padding的学习

    你在学习margin和padding的时候是不是懵了--什么他娘的内边距,什么他娘的外边距.呵呵呵,刚開始我也有点不理解,后来通过查资料学习总算弄明确了,如今我来谈一下自己对margin和paddin ...

  7. opencv实现gamma灰阶检測

    简单介绍 本篇解说使用opencv来測试,表示camera gamma參数的灰阶卡图片指标:YA Block.DynamicRange.Gray Scale. 详细实现 实现代码 #include & ...

  8. 转:一个多目录结构C程序的Makefile

    来源: ChinaUnix博客 一个多目录结构的C程序Makefile,代码存在main init input output exit目录. CC = gcc RDIR = RelsMAIN_DIR ...

  9. Ways to 优化JAVA程序设计和编码,提高JAVA性能

    通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化.一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能 ...

  10. HDUOJ-----Brave Game

    Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...