求教高德地图不显示地名小蓝点不显示的原因

当你的才华还撑不起你的野心的时候、你就应该静下心来学习
高德地图之地图篇-----&定位的蓝点、添加Marker
上一篇已经写了如何搭建高德地图的步骤,这里省略了,直接贴自己代码
*************************************定位的小蓝点***********************************************
先看配置文件
AndroidManifest.xml
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.homegode"
android:versionCode="1"
android:versionName="1.0" &
android:minSdkVersion="18"
android:targetSdkVersion="18" /&
&uses-permission android:name="android.permission.INTERNET" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&uses-permission android:name="android.permission.READ_PHONE_STATE" /&
&uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /&
&uses-permission android:name="android.permission.WRITE_SETTINGS" /&
&application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" &
&meta-data
android:name="com.amap.api.v2.apikey"
android:value="86689cc69abe78eeab15a" /&
&!-- 启动的activity不是固定的 --&
android:name=".MainActivity"
android:label="@string/app_name" &
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&/application&
&/manifest&activity_main.xml
&RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.homegode.MainActivity" &
&com.amap.api.maps.MapView
android:id="@+id/main_mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" /&
&/RelativeLayout&
MainActivity
package com.example.
import android.app.A
import android.graphics.C
import android.location.L
import android.os.B
import com.amap.api.location.AMapL
import com.amap.api.location.AMapLocationL
import com.amap.api.location.LocationManagerP
import com.amap.api.location.LocationProviderP
import com.amap.api.maps.AM
import com.amap.api.maps.LocationS
import com.amap.api.maps.MapV
import com.amap.api.maps.model.BitmapDescriptorF
import com.amap.api.maps.model.MyLocationS
* AMapV1地图中简单介绍显示定位小蓝点 思路是界面展现一个mapView, 加载那个蓝色图标,并且设置后边圆圈的属性,
* 然后设置定位资源。如果不设置此定位资源则定位按钮不可点击。并且实现activate激活定位
* 之后mAMapLocationManager.requestLocationData(
* LocationProviderProxy.AMapNetwork, 2000, 10, this);
* 监听,并且在onLocationChanged这里实现回调方法
public class MainActivity extends Activity implements LocationSource,
AMapLocationListener {
private AMap aM
private MapView mapV
private OnLocationChangedListener mL
private LocationManagerProxy mAMapLocationM
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.main_mapView);
mapView.onCreate(savedInstanceState);// 此方法必须重写
* 初始化AMap对象
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
* 设置一些amap的属性
private void setUpMap() {
// 自定义系统定位小蓝点
MyLocationStyle myLocationStyle = new MyLocationStyle();
myLocationStyle.myLocationIcon(BitmapDescriptorFactory
.fromResource(R.drawable.location_marker));// 设置小蓝点的图标
myLocationStyle.strokeColor(Color.BLACK);// 设置圆形的边框颜色
myLocationStyle.radiusFillColor(Color.argb(100, 0, 0, 180));// 设置圆形的填充颜色
myLocationStyle.strokeWidth(1.0f);// 设置圆形的边框粗细
aMap.setMyLocationStyle(myLocationStyle);
aMap.setLocationSource(this);// 设置定位资源。如果不设置此定位资源则定位按钮不可点击。并且实现activate激活定位,停止定位的回调方法
aMap.getUiSettings().setMyLocationButtonEnabled(true);// 设置默认定位按钮是否显示
aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
* 定位成功后回调函数
public void onLocationChanged(AMapLocation aLocation) {
if (mListener != null && aLocation != null) {
mListener.onLocationChanged(aLocation);// 显示系统小蓝点
* 激活定位
public void activate(OnLocationChangedListener listener) {
mListener =
if (mAMapLocationManager == null) {
mAMapLocationManager = LocationManagerProxy.getInstance(this);
* mAMapLocManager.setGpsEnable(false);
* 1.0.2版本新增方法,设置true表示混合定位中包含gps定位,false表示纯网络定位,默认是true Location
* API定位采用GPS和网络混合定位方式
* ,第一个参数是定位provider,第二个参数时间最短是2000毫秒,第三个参数距离间隔单位是米,第四个参数是定位监听者
mAMapLocationManager.requestLocationData(
LocationProviderProxy.AMapNetwork, 2000, 10, this);
* 停止定位
public void deactivate() {
mListener =
if (mAMapLocationManager != null) {
mAMapLocationManager.removeUpdates(this);
mAMapLocationManager.destroy();
mAMapLocationManager =
* 方法必须重写
protected void onResume() {
super.onResume();
mapView.onResume();
* 方法必须重写
protected void onPause() {
super.onPause();
mapView.onPause();
deactivate();
* 方法必须重写
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
* 此方法已经废弃
public void onLocationChanged(Location location) {
public void onProviderDisabled(String provider) {
public void onProviderEnabled(String provider) {
public void onStatusChanged(String provider, int status, Bundle extras) {
******************************添加marker******************************************
package com.example.
import android.app.A
import android.os.B
import com.amap.api.location.LocationManagerP
import com.amap.api.maps.AM
import com.amap.api.maps.LocationSource.OnLocationChangedL
import com.amap.api.maps.MapV
import com.amap.api.maps.model.BitmapDescriptorF
import com.amap.api.maps.model.LatL
import com.amap.api.maps.model.M
import com.amap.api.maps.model.MarkerO
public class MainActivity extends Activity {
private AMap aM
private MapView mapV
private OnLocationChangedListener mL
private LocationManagerProxy mAMapLocationM
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.main_mapView);
mapView.onCreate(savedInstanceState);// 此方法必须重写
if (aMap == null) {
aMap = mapView.getMap();
aMap.setTrafficEnabled(true);//开始实时交通
aMap.setMapType(AMap.MAP_TYPE_NORMAL);//有普通,卫星,夜间模式
MarkerOptions markerOptions = new MarkerOptions();
//添加一个位置--经度,维度---marker对应一个markerOptions,用来设置marker的属性等
markerOptions.position(new LatLng(39.97525));
//添加图标
markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.location_marker));;
//添加marker
Marker marker = aMap.addMarker(markerOptions);
* 方法必须重写
protected void onResume() {
super.onResume();
mapView.onResume();
* 方法必须重写
protected void onPause() {
super.onPause();
mapView.onPause();
* 方法必须重写
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!15:30 提问
IOS高德地图,地图上小蓝点怎么移除?
IOS高德定位中
,地图上一直有个小蓝点
,怎么移除掉 求大神帮助
按赞数排序
设置不显示用户当前位置就好了。
这个需要有高德地图的SDK有提供接口给你。
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
那个小蓝点是高德地图定位到的用户的当前位置,如果你不设置定位用户当前位置就不会再显示
mapView.showsUserLocation = NO;
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐iOS高德地图自定义定位小蓝点 - 简书
iOS高德地图自定义定位小蓝点
首先看下高德默认的小蓝点效果
再来看下我们产品要实现的效果
有没有熟悉的感觉,没错,就是模仿keep的,我们的产品真的是对keep大爱啊。(官方效果这不是挺好的吗,改个JJ啊)
要自定义定位点,首先要展示当前定位点,用到这个属性,设置为YES
///是否显示用户位置
@property (nonatomic) BOOL showsUserL
对于当前定位点来说,它也是一个MAAnnotation标注,但是高德对它单独封装了一个类,继承自MAAnnotation,叫做MAUserLocation。我们设置了showsUserLocation为YES之后,只要在这个代理方法里面对该类型标注进行处理,即能实现自定义效果。
* @brief 根据anntation生成对应的View
* @param mapView 地图View
* @param annotation 指定的标注
* @return 生成的标注View
- (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id &MAAnnotation&)
然后我们先来设置一张图片,替换掉它官方的白底蓝色呼吸点,看看什么效果
- (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id&MAAnnotation&)annotation
if ([annotation isKindOfClass:[MAUserLocation class]]) {
static NSString *userLocationStyleReuseIndetifier = @"userLocationStyleReuseIndetifier";
MAAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:userLocationStyleReuseIndetifier];
if (annotationView == nil) {
annotationView = [[MAPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:userLocationStyleReuseIndetifier];
annotationView.image = [UIImage imageNamed:@"icon_tracking_userLocation"];
self.userLocationAnnotationView = annotationV
return annotationV
替换了张图片,效果出来了,但是,这个呼吸效果呢,哪个白点呢!!!
少年,你还是太天真,你以为这样换张图片就能搞定?!图样图森破!
这个放着,我们先来优化下这个图标。首先,箭头出来,就表示需要根据方位指示。
我们只要获取到当前定位点的定位信息,拿出来方向的值,处理下即可。
首先,声明一个标注属性
@property (nonatomic, strong) MAAnnotationView *userLocationAnnotationV
前面我们在- (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id&MAAnnotation&)annotation的方法里面已经关联到了自定义的定位点
self.userLocationAnnotationView = annotationV
然后再定位回调里面如下设置,就能实时指示当前方位。
- (void)mapView:(MAMapView *)mapView didUpdateUserLocation:(MAUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation
if (!updatingLocation && self.userLocationAnnotationView != nil) {
[UIView animateWithDuration:0.1 animations:^{
double degree = userLocation.heading.trueHeading - self.mapView.rotationD
self.userLocationAnnotationView.transform = CGAffineTransformMakeRotation(degree * M_PI / 180.f );
那么问题来了,那个呼吸的白底圆点呢???!!!
少年,不要心急,下面就来说说这个实现。
既然定位点是个标注MAAnnotationView,先点进去文件看看,没有啥相关的设置,那就只能继承MAAnnotationView自定义标注了。
首先把customizeUserLocationAccuracyCircleRepresentation这是为YES
@property (nonatomic) BOOL customizeUserLocationAccuracyCircleR
然后新建一个类,继承自MAAnnotationView
#import &MAMapKit/MAMapKit.h&
@interface YTUserLocationAnnotationView : MAAnnotationView
接着代理方法里面修改下类
- (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id&MAAnnotation&)annotation
if ([annotation isKindOfClass:[MAUserLocation class]]) {
static NSString *userLocationStyleReuseIndetifier = @"userLocationStyleReuseIndetifier";
YTUserLocationAnnotationView *annotationView = (YTUserLocationAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:userLocationStyleReuseIndetifier];
if (annotationView == nil) {
annotationView = [[YTUserLocationAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:userLocationStyleReuseIndetifier];
annotationView.image = [UIImage imageNamed:@"icon_tracking_userLocation"];
self.userLocationAnnotationView = annotationV
//为了让位置点永远在图层最上面,设置选定图标。
//高德SDK5.4.0必须在主线程选定图标,否则会导致界面进入地图加载卡死,暂时不懂为何
dispatch_async(dispatch_get_main_queue(), ^{
[self.mapView selectAnnotation:annotation animated:NO];
return annotationV
return nil
在自定义的定位点类里面实现didMoveToSuperview方法,当 annotation 被添加到地图上就会触发,然后就可以执行需要的动画了,具体实现如下。
#import "YTUserLocationAnnotationView.h"
@interface YTUserLocationAnnotationView ()
@property (nonatomic, strong) CALayer *circleV
@implementation YTUserLocationAnnotationView
- (CALayer *)circleView
if (!_circleView) {
_circleView = [CALayer layer];
_circleView.frame = CGRectMake(0, 0, self.ab_width + 6, self.ab_height + 6);
_circleView.position = self.imageView.
_circleView.backgroundColor = [UIColor whiteColor].CGC
_circleView.cornerRadius = _circleView.frame.size.width / 2;
[self.layer insertSublayer:_circleView below:self.imageView.layer];
return _circleV
- (void)didMoveToSuperview
[super didMoveToSuperview];
[self startAnimate];
- (void)startAnimate
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
animation.fromValue = [NSNumber numberWithFloat:1.0f];
animation.toValue = [NSNumber numberWithFloat:2.2f];
animation.autoreverses = YES;
animation.duration = 1.f;
animation.repeatCount = MAXFLOAT;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeF
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.circleView addAnimation:animation forKey:nil];
- (void)dealloc
DLog(@"%s",__func__);
掌握了这个小技巧,你也能实现各种各样的定位点展示UI。
小菜鸟一枚
http://www.cnblogs.com/kenshincui/p/4125570.html 摘要: 现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们...
出自http://my.oschina.net/are1OfBlog/blog/420034 摘要 现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活...
最近在做基于高德地图的定位、导航及添加大头针的功能,特此记录下来。。。方便刚接触的同学参考。。。 一、申请 Key:获取用户Key 1.访问 http://lbs.amap.com/console/key/,使用高德开发者账号登陆 2.在“KEY管理”页面点击上方的“获取k...
项目需求,需要将用户的地理位置显示在地图上 首先是导入相关的SDK,可以查看我的iOS开发-- 高德地图的接入使用(1)定位 懒加载地图 配置定位权限在 Info.plist 文件中增加定位权限配置,如下图示: 值得注意的是,定位权限有三种,您可根据需求进行选择。 自定义定...
开发中有些会遇到地图的使用,对于高德地图当前位置的小蓝点,根据不同的UI效果可能需要实现不同效果,比如讲小蓝点换成用户头像、网络头像等。这里多高德地图的当前位置“小蓝点”进行处理,使得该功能更加实用,扩展性更强。 思路: 前提:已经集成了高德地图SDK,并且设置了AppKe...
每到毕业季,校园内谈论最多的便是大学生就业问题。一份工作代表着一种生活方式,第一份工作对于大多数毕业生来说特别重要,毕竟这是走入社会关键的一步,关系到个人的生存和发展,因此不得不认真谨慎。 自主择业时常让毕业生又爱又“恨”。爱的是拥有更多的就业选择,开放的市场有机会选择任何...
我在前面两篇分别聊了周围的消费环境以及个体的必需品欲望品分类对自己花费的影响。本篇继续探讨在分清自己的必需品需求之后,该如何处理这些欲望需求?是即刻满足(冲动消费)还是要延迟满足? 只有保证了基本需求才能谈控制力 对我来讲,最基本的需求就是休息好和吃喝好,这两项的标准就是:...
律师业的发展,即将告别单干时代,需要尽早醒悟,进入全新的团队时代,进行公司化运营。今天正式尝试与学习,先从团队建设开始。 建设团队需要: 一、正确认识团队:由两个以上具备知识与技能互补,具有共同的目标和价值体系,他们相互依赖...
题目1: DOM0 事件和DOM2级在事件监听使用方式上有什么区别? DOM0级方法指定的事件处理程序被认为是元素的方法,此时事件处理程序是在元素的作用域里中运行,所以此时this指向的是元素本身。而且这种添加方式的缺陷是,只能存在一个处理程序,如果再次向同一个元素添加另外...
时间,是世间最公平的东西,但时间,也是世间最残酷的东西。谁也无法躲避时间,它会催促、逼迫着你前行,不管你愿意或不愿意。就像花儿终会凋谢,人终会老去。凋谢是真实的,盛开只是一种过去。
前几天回宿舍的路上,看到 一朵小黄花开得正好,在阳光的照耀下显得格外美丽,当我走...(转)高德地图之地图篇-----&定位的蓝点、添加Marker
原地址:http://blog.csdn.net/u/article/details/
上一篇已经写了如何搭建高德地图的步骤,这里省略了,直接贴自己代码
*************************************定位的小蓝点***********************************************
先看配置文件
AndroidManifest.xml
activity_main.xml
MainActivity
******************************添加marker******************************************
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!求教高德地图小蓝点不显示的原因_百度知道
求教高德地图小蓝点不显示的原因
我有更好的答案
楼主好:请问您所说的小蓝点是?小德没有明白亲的意思?
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 ios高德地图定位蓝点 的文章

 

随机推荐