百度地图怎么标记圆圈,百度地图怎么打标记
发表于 ・ 资讯中心
一些朋友对于百度地图怎么标记圆圈和一些百度地图怎么打标记的相关性题,大家都是比较关注度的,接下来小编为你整理了相关的知识。
百度地图怎么标记圆圈
百度舆图上商户标注之后,能够给客户说,百度导航到“xxxx”便可拉。那样的,怎样操纵呢呀?根据如下措施便可完成啦。百度舆图标注,分两种,1种是路人甲上报,1种是商户标注,不管哪种标注,都是经过百度舆图手机客户端,而且翻开GPS举行操纵的啦。底下侧重解说下商户标注的办法呢。
器械/质料
百度账号
百度舆图手机客户端
智能手机
办法/措施
翻开手机GPS
翻开百度舆图,而且运用百度账号登录拉。
点击圆圈处的,个人头像,进去“私人中间”呢。
往下滑动,看到“我是商家”,点击而且进去了。
在点击“我的商户”以前,先检察“点击检察所需材料”,须要供应“营业执照.认领确认书(盖印).认领人手持在门口的照片.的照片.门脸照片呀。”都须要清楚,认领人和营业执照法人,能够不-是一位人啦。
舆图标注
点击“我是商户”,会出-现以下界面呀。点击“增加新的门店”
百度舆图收录了海量的商户信息,先搜寻下我是不是存在拉。随后点击“增添门店”拉。
抉择“我是该地址经营者”,随后根据请求填写呀。把我预备的营业执照.认领确认书(盖印).认领人手持在门口的照片.的照片.门脸照片拉。材料材料提交后,百度舆图会打电话考核,请不维持通话流通,那几天不-要拒接任何通话了。考核经过后,您的商户信息就会出-现在百度舆图上了了。
注意事项
开启GPS,在户外门口定位舆图标点
所需材料务必根据请求预备及填写
注重接听百度舆图的通话
百度地图怎么打标记
这是一个系列,可是我也不肯定详细会更新几多期,近来几天很忙,重要仍然效果的疑,因此一些有用的东-西仍然会实时更新的,好比后续会出
- 分享SDK:sharesdk
- 后端SDK:Bmob
- 推送SDK:极光推送
- 短信SDK:验证码完成
- 等等
或许出一些装ubuntu体系或许黑苹果教程什麽的,或许5.X以后的新方法,重要仍然困于时候方方面面缺乏,或者这也是1种磨炼吧,事情了挺久的了,愈加以为我的JAVA根基着实是烂的能够,想去买一本JAVA的书本啃一啃,恰好年假也有15天,这都是后话了,咋们言归正传,今日剖析的是百度舆图的sdk怎样去运用,包罗她的几个类的一五一十讲明,应该写得快的话半个星期就写完了就会加之高德舆图什麽的,但是看目前公司工作事情的模样,一天能写一位小时就不错了
一.百度API
百度舆图APIhttp://developer.baidu.com/map/
两.搭建舆图环-境
1.伸请百度舆图的key
2.下载对应功效的sdk
3.新建一位工程导入sdk到lib内里
1.伸请KEY
咋们翻开百度API-开拓-Android SDK
随后抉择获得密钥
建立运用
咋们在IDE里建立一位工程--BaiDuMapDemo
随后顺次填入所须要的信息
这里许多人对这一个SHA1值很不明白的地方,那我先科普一下这一个是什麽玩意吧
什麽是SHA1呀?
平安哈希算法(Secure Hash Algorithm)重要实用于数字签名标-准 (Digital Signature Standard DSS)内里界说的数字签名算法(Digital Signature Algorithm DSA)了。关于长度小于2^64位的新闻,SHA1会发生一位160位的新闻简介啦。当吸收到新闻的时刻,这一个新闻简介能够用来检验数据的完整性了。在传输的历程中,数据很应该会发生变化,那样的刚好这个时间就会发生区别的新闻简介呢。 SHA1有以下特征不能够从新闻简介中恢复信息;2个区别的新闻不会发生一样的新闻简介了。
那咋们该怎么样去获得呢呢?
Eclipse获得办法
Android Studio获得办法
鉴戒博文http://blog.csdn.net/kezhongke/article/details/42678077
好了,这里注重一下,这里我用com.lgl.baidumapdemo这一个包名提醒我敏感词,因此我换了一位,实质上是有无任何影响的,不必纠结,当咋们提交以后,就能够获得到key了
2.下载SDK
我想我不必多说什麽的,这里须要自定义下载,也就是说您须要什麽功效您就抉择什麽功效,这里作demo的话所有下载了,这里也不供给下载了,他们能够本人去下载,我把位置给进去吧
SDK下载位置http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download
3.设置工程
一开始的时候咋们把下载的sdk所有放在lib库内里,有点多,究竟百度舆图的功效仍然能够的,但是会显得很肥胖,倡议须要什麽功效就放哪一个架包吧,下载的时刻我相干的demo和文档讲明的
Eclipse
1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状况;
2. Project -> clean-> clean all
Android Studio
第一步在工程app/libs大纲下放入baidumapapi_vX_X_X.jar包,在src/main/纲领下新建jniLibs纲领,放入libBaiduMapSDK_vX_X_X_X.so以下图所示,注重jar和so的前3位版本号必需相同,而且确保运用一次下载的文件夹中的2个文件,不可以区别功效组件的jar或者so交织运用啦。
第二步导入jar包拉。菜单栏抉择File->Project Structor->Modules->Dependencies,点击+号,抉择File dependency,挑选jar包导入呀。
经过以上两步操纵后,你就能够寻常运用百度舆图SDK为你供应的所有功效了啦。
三,HelloMap
1.权限
权限是必备的,并且讲明文档里也非常一五一十的讲明了
2.设置KEY
在application中增加开拓密钥
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
3.布置
在布置中直-接增加
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
4.初始化
在应用程序建立时初始化 SDK援用的Context 全局变量
记着,肯定要再setContentView以前实行
而且初始化mapview
public class MainActivity extends Activity
5.舆图的生命周期
前期工作咋们都筹备完结了,此刻咋们就把百度舆图的生命周期给增添上
@Override
protected void onDestroy()
@Override
protected void onResume()
@Override
protected void onPause()
好了,筹备了这么久,目前咋们能够见证极难做到的不同寻常的事情的时候了
好的,咋们的初级教程到这里了,底下,便是一些高档的方法了
四.舆图进阶——根本掌控
1.焦点类
//三大焦点类
1.BMapManager//百度舆图管理工具
2.MapView //舆图控件——MapView的MKMapViewListener //控件的点击事情
3.MapController //舆图掌控,必需MapViewy曾经存在
//掌控舆图平移,缩放,抉择等..
2.受权检验
咋们作这类类别的使用,一样平常也就2个交互,一位便是key的受权,另有一位便是互联网的受权了,咋们咋们在最先完成地图功能以前应当先去推断一下这2个前提是不是完成了
3.完成播报机制
本来便是写个小广播,不须要许多代码
//初始化一位播报
private MyBroadcastReceiver receiver;
class MyBroadcastReceiver extends BroadcastReceiver else if(action.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR))
//在onCreate()办法中登记播报
receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
// 互联网差错
filter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
// 效验key失利
filter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
registerReceiver(receiver, filter);
//注重要在onDestroy()办法中烧毁这一个播报
unregisterReceiver(receiver);
播报写好了,咋们来讲一下这两条播报吧
思维便是当进去使用的时刻sdk会去检验这2个前提,假如发觉互联网差错或许检验Key失利就会发送一条播报,播报接收者吸收到了这条播报以后弹出一位Toast,固然,您假如想人性化一点也能够弹一位Dialog,这里作-为demo就不作这么繁杂的东-西了
//互联网差错
SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR
//key效验失利
SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR
3.配置舆图缩放级别
尽管舆图上是有按钮能够举行缩放的,可是再某些场景仍然须要咋们人-工缩放,可是再缩放以前,咋们应当先来理解一下缩放级别缩放级别在2.X是个分水岭,在2.X以前的级别是(3-18),以后是(3-19),重要是有2个区分
1.修正了文件格式,详细是啥也不须要懂,只想要晓得,好比深圳的舆图100M,2.x以后只想要15M差不多就好了
2.增添了3D功效,这要在18或许19的级别上才能够看到
咋们先把BaiduMap给完成了
private BaiduMap mBaiduMap;
//在onCreate()中
mBaiduMap = mMapView.getMap();
随后咋们写一位办法让onCreate()挪用
private void init()
4.配置中心点(定位的低级完成)
您有无发觉,咋们一进入舆图显现的是北京天安门,本来这一个就叫中心点,咋们能够变动这一个中心点
一样的,咋们写一位办法在onCreate()中挪用
private void init()
截图
目前一进入中心点就会在世界之窗的坐标点了,咋们定位的完成不便是获得到坐标点随后显现嘛!嘿嘿!
5.舆图控制器(转动,挪动,缩放)
模仿点击 模拟器上运转按12345键完成,固然,您写Button的点击事情也能够
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
6.指南针
//显现指南针
mBaiduMap.getUiSettings().setCompassEnabled(true);
//显现地位
7.舆图事情
不-是很经常使用,舆图自身都是自带点击事情的
//配置舆图单击监听
mBaiduMap.setOnMapClickListener(new OnMapClickListener()
@Override
public void onMapClick(LatLng arg0)
);
//覆盖物点击事情
mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener()
);
//配置舆图双击监听
mBaiduMap.setOnMapDoubleClickListener(new OnMapDoubleClickListener()
);
//发动截图恳求
mBaiduMap.snapshot(new SnapshotReadyCallback()
);
五.舆图高阶——图层
1.什麽是图层
一位舆图是由许多个图层包裹的,另有级别,这是由图块决策的,您所看到的屋子,学堂什麽的都是由图层完成的
2.图层分类
底图
根本的一位舆图包罗了种种建-筑啥啥啥的
及时交通图
交通路况啥啥啥的
卫星图
就是从卫星上拍下来的嘛,哈哈哈哈,这一些都一笔带过吧
其余
另有林林总总的,好比热力争啥的
3.覆盖物
覆盖物的层级压盖干系,以下(从上往下)
1.根基底图(包罗底图.底图路线.卫星图等);
2.地形图图层(GroundOverlay);
3.热力争图层(HeatMap);
4.及时路况图图层(BaiduMap.setTrafficEnabled(true););
5.百度都市热力争(BaiduMap.setBaiduHeatMapEnabled(true););
6.底图标注(指的是底图上边自带的那些POI元素);
7.几何图形图层(点.折线.弧线.圆.多边形);
8.标注图层(Marker),笔墨绘制图层(Text);
9.指南针图层(当舆图产生转动和视角转变时,默许出-现在左上角的指南针);
10.定位图层(BaiduMap.setMyLocationEnabled(true););
11.弹出窗图层(InfoWindow);
12.自定义View(MapView.addView(View););
4.根基图层切换
咋们仍然模仿操纵,您也能够用Button点击事情去完成,这里就直-接在onKeyDown()内里迷你按123键举行操纵
//点击屏幕切换图层 从舆图-卫星图-交通图
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
return super.onKeyDown(keyCode, event);
5.不收取费用伸请标注
有时候咋们会发觉,您身处的环-境四周有一些小商店是有无在舆图上记号的,也有一些小商店就被百度舆图给记号了,这是为何了吗?这本来是百度的一位特有的功效,也不-是技术活,纯洁便是跟伸请账号同样
一开始的时候咋们翻开百度舆图的:http://map.baidu.com/
在最下方有个不起眼的笔墨,商户不收取费用标注,点进入
根据这一个措施不收取费用伸请就得了,这里就但是多赘述
六.舆图高阶——绘制覆盖物
全部叠加或者笼罩到舆图的内容,咋们统称为舆图覆盖物呀。如标注.矢量图形元素(包罗折线和多边形和圆).定位图标等拉。覆盖物具有我的地理坐标,当你拖动或者缩放舆图时,它们会响应的处置了。
覆盖物包罗当地覆盖物和搜寻覆盖物
当地覆盖物的形象基类OverlayOptions(焦点类)
圆形覆盖物 CircleOptions
笔墨覆盖物 TextOptions
marker覆盖物 MarkerOptions
圆点覆盖物DotOptions
ground 覆盖物GroundOverlayOptions
圆点覆盖物DotOptions
多边形覆盖物PolygonOptions
折线覆盖物PolylineOptions
弧线覆盖物ArcOptions
1.绘制圆
既然熟习了这一些根基的常识,那咋们就先来绘制一位圆吧
写一位drawCircle()办法让onCreate()挪用
// 绘制圆
private void drawCircle()
说了这么多,仍然有无看图来的着实,咋们来看下截图
2.绘制笔墨
一样的咋们在写一位办法drawText();
// 绘制笔墨
private void drawText()
截图
3.绘制Mark覆盖物
Mark覆盖物就意思多了,他是能够让咋们自定义一张图片放上去的,就像那些打车软件同样能够让舆图上看到一些车辆的信息
一样的,不管三七二十一,咋们持续写一位办法drawMark();
先看看我这张要塞进入的图片
// 绘制mark覆盖物
private void drawMark()
截图
配置Mark覆盖物点击出-现泡泡功效
不多说啥,先上个图给我们看看功效
完成这个样子的一位结果,本来便是加了一位pop
咋们一开始的时候得我界说一位activity_pop.
<?
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="0dip" >
<LinearLayout
android:id="@+id/user_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_weight="1"
android:background="@drawable/popupmap"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/round"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dip"
android:src="@drawable/round" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:text="题目"
android:textSize="20sp" />
<ImageView
android:id="@+id/roads"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/roads" />
</LinearLayout>
</LinearLayout>
预览是这模样的
一开始的时候,咋们得初始化一些变量
//要显现的pop
private View pop;
//pop中的文本信息
private TextView title;
pop的初始化
//初始化pop
private void initPop()
mark的点击事情
/**mark的点击事情
* 点击某一位mark在她上放显现泡泡
* 加载pop 增加到mapview 把她配置为暗藏 当点击的时刻更新pop的地位 配置为显现
*/
mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener()
);
```
这边新加一位功效,便是泡泡轮播切换,咱先看效果图
本来完成这一个不难,便是在配置icon的时刻配置一位icons穿进入一位Bitmap的list
//拿上边哪个办法直-接改的配置icon
// 绘制mark覆盖物
private void drawMark()
```
好的,Mark覆盖物写得差一点了 ,持续往下看吧
七.舆图高阶——搜寻道路记号
真抱歉,近来几天不停在加班,空暇的时候越来越少,没事,纪录撸代码!!!
接下来讲的是道路记号,信赖很多人应当晓得,舆图导航的时刻会帮您记号一条道路,咋们今日就来完成这一个功效,后续有哪一些办法有疏漏,也期望博友能指导进去,究竟我也是技能渣渣
百度舆图挪动版API集成搜寻办事包罗
地位检索.方圆检索.范畴检索.公交检索.驾乘检索.步辇儿检索
焦点类 PoiSearch和OnGetPoiSearchResultListener
RoutePlanSearch和OnGetRoutePlanResultListener
完成思绪
初始化PoiSearch类,经过setOnGetPoiSearchResultListener办法登记搜寻结局的监听对-象OnGetPoiSearchResultListener ,完成异步搜寻办事呢。
经过自定义MySearchListener完成类,处置区别的回调办法,获取搜寻结局啦。
注重, OnGetPoiSearchResultListener只支撑一位,以最终一次配置为准
联合覆盖物展现搜寻
当地搜寻覆盖物PoiOverlay
驾车道路覆盖物DrivingRouteOverlay
步辇儿道路覆盖物WalkingRouteOverlay
换乘道路覆盖物TransitOverlay
1.范畴搜寻,PoiOverlay的点击事情(矩形)
咋们直-接写一位search()办法让onCreate()挪用吧
直-接撸代码,完成search();
// 范畴搜寻
private void search()
完成她的Listener
class SearchListener implements OnGetPoiSearchResultListener
@Override
public void onGetPoiResult(PoiResult result)
//搜寻类别的类
PoiOverlay overlay = PoiOverlay(mBaiduMap); //处置搜寻Poi的覆盖物
mBaiduMap.setOnMarkerClickListener(overlay);// 把事情分发给overlay,overlay才气处置点击事情
overlay.setData(result); //配置结局
overlay.addToMap;//把搜寻的结局增加到舆图中去
overlay.zoomToSpan(); //主动缩放到因此的mark覆盖物都能看到
我完成他的点击事情
//我完成点击事情
class MyPoiOverlay extends PoiOverlay
@Override
public boolean onPoiClick(int index)
的成效,点击后Toast
2.方圆搜寻(圆形)
方圆搜寻和范畴搜寻基本一致,我就直-接上代码了
private void search()
class MyListener implements OnGetPoiSearchResultListener
String text = result.getAddress()+ "::" + result.getCommentNum() + result.getEnvironmentRating();
Toast.makeText(getApplicationContext(), text, 0).show();
@Override
public void onGetPoiResult(PoiResult result)
PoiOverlay overlay = new MyPoiOverlay(baiduMap);// 搜寻poi的覆盖物
baiduMap.setOnMarkerClickListener(overlay);// 把事情分发给overlay,overlay才气处置点击事情
overlay.setData(result);// 配置结局
overlay.addToMap();// 把搜寻的结局增添到舆图中
overlay.zoomToSpan();// 缩放舆图,使全部Overlay都在适合的视线内 注 该办法只对Marker类别的overlay有用
class MyPoiOverlay extends PoiOverlay
@Override
public boolean onPoiClick(int index)
3.都市内搜寻
普遍是一摸同样的
private PoiSearch poiSearch;
private int currentPageIndex = 0;
private void search()
class MyListener implements OnGetPoiSearchResultListener
@Override
public void onGetPoiResult(PoiResult result)
String text = "共" + result.getTotalPageNum() + "页,共"
+ result.getTotalPoiNum() + "条,现在第"
+ result.getCurrentPageNum() + "页,当前页"
+ result.getCurrentPageCapacity() + "条";
Toast.makeText(getApplicationContext(), text, 1).show();
baiduMap.clear();// 清空舆图一切的 Overlay 覆盖物和 InfoWindow
PoiOverlay overlay = new MyPoiOverlay(baiduMap);// 搜寻poi的覆盖物
baiduMap.setOnMarkerClickListener(overlay);// 把事情分发给overlay,overlay才气处置点击事情
overlay.setData(result);// 配置结局
overlay.addToMap();// 把搜寻的结局增加到舆图中
overlay.zoomToSpan();// 缩放舆图,使一切Overlay都在适合的视线内 注
// 该办法只对Marker类别的overlay有用
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
return super.onKeyDown(keyCode, event);
class MyPoiOverlay extends PoiOverlay
@Override
public boolean onPoiClick(int index)
```
4.道路检索(驾车道路)
//驾车道路
private void driving()
class MyListener implements OnGetRoutePlanResultListener
//最先处理结果了
DrivingRouteOverlay overlay = new MyDrivingOverlay(baiduMap);
baiduMap.setOnMarkerClickListener(overlay);// 把事情通报给overlay
overlay.setData(result.getRouteLines().get(0));// 配置路线为第一条
overlay.addToMap();
overlay.zoomToSpan();
@Override
public void onGetTransitRouteResult(TransitRouteResult result)
@Override
public void onGetWalkingRouteResult(WalkingRouteResult result)
class MyDrivingOverlay extends DrivingRouteOverlay
@Override
public BitmapDescriptor getStartMarker()
@Override
public BitmapDescriptor getTerminalMarker()
的效果图
5.6.公交换乘和步辇儿道路,本来和驾车道路的写法是同样的这里就不写了
写的时刻不晓得为何我的Overlay类来是建立不进去,因此代码低劣的场合还请包涵
八.舆图高阶——定位系统
这一个信赖是我们常常用到的
LocationClient和BDLocationListener
一开始的时候须要翻开定位图层BaiduMap.setMyLocationEnabled(true);
配置监听器LocationClient. registerLocationListener(BDLocationListener)
配置定位形式baiduMap. setLocationMode(LocationMode)
Hight_Accuracy,高精度定位形式这类定位形式下,会同时间运用互联网定位和GPS定位,优先回返最高精度的定位结局;
Battery_Saving,低功耗定位形式这类定位形式下,不会运用GPS,只会运用互联网定位(Wi-Fi和基站定位)
Device_Sensors,仅用装备定位形式这类定位形式下,不须要联接互联网,只运用GPS举行定位,这类形式下不支撑室内环境的定位
配置定位显现形式BaiduMap.setMyLocationConfigeration(MyLocationConfiguration)
定位数据获得在BDLocationListener. onReceiveLocation(BDLocation result)办法中配置定位数据,
baiduMap.setMyLocationData(MyLocationData);
一位GPS定位,但是必需要三颗星以上才可定位,否则是定不了的,另有一位基站职位,她本来每一个基站都有一位ID,便是一位地位,查到近来几天基站的地位随后去服务器里恳求回返地位信息,另有一位wifi定位,当您的手机联接wifi,您最先定位的时刻,把wifi的位置发送到百度的服务器,服务器会把多数wifi位置都有收录,直-接回返经纬度
位置http://developer.baidu.com/map/index.php?title=android-locsdk/guide/v5-0
咋们依照百度供给的文档去作
1.在application标签中申明service组件,每一个app具有本人独自的定位service
<service android:name="com.baidu.location.f"
android:enabled="true"
//跑在一位新的进-程中
android:process=":remote">
</service>
重要用到的2个类
public LocationClient mLocationClient;
public BDLocationListener myListener;
private BitmapDescriptor geo;
随后咋们直-接写个办法lacate();
private void lacate()
持续我写个Listener
class MyListener implements BDLocationListener
咋们能够模仿一下运用种种方法去定位
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
return super.onKeyDown(keyCode, event);
百度舆图算是写完一半了,为何说只写完了一半,由于时候紧急,内里一定会有一些差错的编辑,但是想法是对的,您根据措施来,联合您对百度API的认知,这一些本来都是很简易就去完成的,这里不过作-为一位引玉之砖
后续还会连续订正变动,如有差错,迎接点评,感谢了!
Demo下载位置:http://download.csdn.net/detail/qq_26787115/9379582
百度地图怎么标记圆圈的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于百度地图怎么打标记的信息别忘了在本站进行查找喔。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。