王者荣耀怎么拖动屏幕把大头针定在屏幕中心,然后拖动地图,大头针不动

后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 11565|回复: 19
iOS 大头针怎么固定在中间,且移动后及时更新位置信息
iOS 大头针怎么固定在地图中间,且移动地图 怎么获取到 大头针下的具体位置经纬度,
首先在viewdidload里增加地图的一个触摸事件
UITapGestureRecognizer *mTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPress:)];&&
& & [self.mapView addGestureRecognizer:mTap];&&
事件实现如下:
[cpp] view plaincopyprint?
- (void)tapPress:(UIGestureRecognizer*)gestureRecognizer {&&
& & CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];//这里touchPoint是点击的某点在地图控件中的位置&&
& & CLLocationCoordinate2D touchMapCoordinate =&&
& & [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];//这里touchMapCoordinate就是该点的经纬度了&&
& & NSLog(@&touching %f,%f&,touchMapCoordinate.latitude,touchMapCoordinate.longitude);
& & 这种需求不需要用annotaion了,直接自己定义一个imageView放在界面中间,所谓大头针对应的经纬度其实就是屏幕中心对应的经纬度,用屏幕坐标转地理坐标的接口即可
还有一个问题没解决 ,如何把大头针固定在屏幕中间,地图可以拖动,大头针一直都固定在屏幕中间?
将含有大头针的view添加到mapview的中心,这样不就一直停留在中间了么?
再将该view的中心点坐标 转换成经纬度坐标,就得到大头针的经纬度信息了
wangzhiyi_fly
& & 代码怎么写?把大头针固定在屏幕中间,移动地图的时候大头针不能跟着移动。
wangzhiyi_fly
怎么获取到地图到中心点,通过坐标吗,还是经纬度?具体怎么写?
// 以下是生成大头针的方法
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id &BMKAnnotation&)annotation
& & NSString *AnnotationViewID = @&renameMark&;
& & if (newAnnotation == nil) {
& && &&&newAnnotation = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];
& && &&&// 设置颜色
& && &&&((BMKPinAnnotationView*)newAnnotation).pinColor = BMKPinAnnotationColorP
& && &&&// 从天上掉下效果
& && &&&((BMKPinAnnotationView*)newAnnotation).animatesDrop = YES;
& && &&&// 设置可拖拽
& && &&&((BMKPinAnnotationView*)newAnnotation).draggable = YES;
& && & // newAnnotation.frame=CGRectMake(180, 200, 50, 50);
& & newAnnotation.centerOffset = CGPointMake(0, -(newAnnotation.frame.size.height * 0.5));
& & newAnnotation.annotation =
& & [newAnnotation setSelected:YES animated:YES];
& & return newA
楼主实现了iOS 大头针怎么固定在地图中间,且移动地图 怎么获取到 大头针下的具体位置经纬度,吗?求分享
& & 这种需求不需要用annotaion了,直接自己定义一个imageView放在界面中间,所谓大头针对应的经纬度其实就是屏幕中心对应的经纬度,用屏幕坐标转地理坐标的接口即可
跟楼主一样的需求,我是采用了6楼的方案,但是有个问题,定位的那个蓝色透明圈如何取消。
回复 6# 入巇冭罙
怎么实现的啊 最近也在做这个
首先在viewdidload里增加地图的一个触摸事件
UITapGestureRecognizer *mTap = [ initWithTarget:self actio ...
谢谢,受教了。
回复 7# Emp爱雯
哪个接口是否可以详细说下&&找不到
回复 7# Emp爱雯
同求,哪个接口啊
同求,怎么实现的。啊啊啊啊
问题解决了吗&&什么思路
有人解决了吗,怎么做的,求指导.
回复 7# Emp爱雯
是怎么根据屏幕中心获取的经纬度的呢,能不能具体说说思路.
怎么做的啊&&- -& &求回复啊
回复 3# 入巇冭罙
将含有大头针的view添加到mapview的中心,这样不就一直停留在中间了么?
加到mapview的中心,一开始是在中心,随着mapview移动 大头针肯定会跟着mapview走啊。。
Powered by15383人阅读
IOS 全程实录(9)
& 废话不多说 直接上项目工程 &,还是 先看下效果图吧!
& 项目中有两个文件,chonViewController 和mapLocation文件 ,mapLocation 文件用于地标显示 并有附加信息,昨天做得时候附加信息显示正常,今天想写点博客 却不显示了 ,很郁闷!
新建工程后 记得加入类库,MapKit.framework 具体添加方法 这里不在说明了
下面 看下 chonViewController.h 文件 代码如下:
#import &UIKit/UIKit.h&
#import &MapKit/MapKit.h&
#import &mapLocation.h&
@interface chonViewController : UIViewController&MKMapViewDelegate&
@property (weak, nonatomic) IBOutlet UITextField *txtQueryK
@property (weak, nonatomic) IBOutlet MKMapView *mapV
- (IBAction)geocodeQuery:(id)
chonViewController.m文件代码如下:
chonViewController.m
MyLocation2
Created by choni on 14-5-13.
Copyright (c) 2014年 choni. All rights reserved.
#import &chonViewController.h&
@interface chonViewController ()
@implementation chonViewController
- (void)viewDidLoad
[super viewDidLoad];
// 标注地图类型
_mapView.mapType = MKMapTypeS
//用于将当前视图控制器赋值给地图视图的delegate属性
_mapView.delegate =
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
#pragma mark - 查询按钮触发动作
- (IBAction)geocodeQuery:(id)sender {
if (_txtQueryKey.text == nil || [_txtQueryKey.text length] == 0) {
CLGeocoder *geocode = [[CLGeocoder alloc] init];
[geocode geocodeAddressString:_txtQueryKey.text completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@&查询记录数: %i&,[placemarks count]);
if ([placemarks count ] & 0) {
//移除目前地图上得所有标注点
[_mapView removeAnnotations:_mapView.annotations];
for (int i = 0; i& [placemarks count]; i++) {
CLPlacemark * placemark = placemarks[i];
//关闭键盘
[_txtQueryKey resignFirstResponder];
//调整地图位置和缩放比例,第一个参数是目标区域的中心点,第二个参数:目标区域南北的跨度,第三个参数:目标区域的东西跨度,单位都是米
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(placemark.location.coordinate, 1);
//重新设置地图视图的显示区域
[_mapView setRegion:viewRegion animated:YES];
// 实例化 MapLocation 对象
mapLocation * annotation = [[mapLocation alloc] init];
annotation.streetAddress = placemark.
annotation.city = placemark.
annotation.state = placemark.administrativeA
annotation.zip = placemark.postalC
annotation.coordinate = placemark.location.
//把标注点MapLocation 对象添加到地图视图上,一旦该方法被调用,地图视图委托方法mapView:ViewForAnnotation:就会被回调
[_mapView addAnnotation:annotation];
#pragma mark mapView Delegate 地图 添加标注时 回调
- (MKAnnotationView *) mapView:(MKMapView *)theMapView viewForAnnotation:(id &MKAnnotation&) annotation {
// 获得地图标注对象
MKPinAnnotationView * annotationView = (MKPinAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:@&PIN_ANNOTATION&];
if (annotationView == nil) {
annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@&PIN_ANNOTATION&];
// 设置大头针标注视图为紫色
annotationView.pinColor = MKPinAnnotationColorP
// 标注地图时 是否以动画的效果形式显示在地图上
annotationView.animatesDrop = YES ;
// 用于标注点上的一些附加信息
annotationView.canShowCallout = YES ;
return annotationV
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
_mapView.centerCoordinate = userLocation.location.
- (void)mapViewDidFailLoadingMap:(MKMapView *)theMapView withError:(NSError *)error {
NSLog(@&error : %@&,[error description]);
mapLocation.h 代码如下:
mapLocation.h
MyLocation2
Created by choni on 14-5-13.
Copyright (c) 2014年 choni. All rights reserved.
#import &Foundation/Foundation.h&
#import &MapKit/MapKit.h&
@interface mapLocation : NSObject&MKAnnotation&
// 地图标点类必须实现 MKAnnotation 协议
// 地理坐标
@property (nonatomic ,readwrite) CLLocationCoordinate2D
//街道属性信息
@property (nonatomic , copy) NSString * streetA
// 城市信息属性
@property (nonatomic ,copy) NSString *
// 州,省 市 信息
@property(nonatomic ,copy ) NSString *
@property (nonatomic ,copy) NSString *
mapLocation.m 文件如下:
mapLocation.m
MyLocation2
Created by choni on 14-5-13.
Copyright (c) 2014年 choni. All rights reserved.
#import &mapLocation.h&
@implementation mapLocation
#pragma mark 标点上的主标题
- (NSString *)title{
return @&您的位置!&;
mark 标点上的副标题
- (NSString *)subtitle{
NSMutableString *ret = [NSMutableString new];
if (_state) {
[ret appendString:_state];
if (_city) {
[ret appendString:_city];
if (_city && _state) {
[ret appendString:@&, &];
if (_streetAddress && (_city || _state || _zip)) {
[ret appendString:@& · &];
if (_streetAddress) {
[ret appendString:_streetAddress];
if (_zip) {
[ret appendFormat:@&,
%@&,_zip];
Ok &搞定, 代码中注释还是比较详细的!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:193030次
积分:2266
积分:2266
排名:第11814名
原创:53篇
评论:43条
(2)(1)(1)(6)(4)(2)(1)(2)(7)(1)(3)(1)(2)(1)(1)(5)(13)(12)百度地图上 很多个大头针 点击的时候 怎么识别是点击了哪个大头针?
[问题点数:40分]
百度地图上 很多个大头针 点击的时候 怎么识别是点击了哪个大头针?
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。主题 : MKAnnotationView(地图大头针)拖动及缩放问题
级别: 新手上路
可可豆: 53 CB
威望: 33 点
在线时间: 88(时)
发自: Web Page
来源于&&分类
MKAnnotationView(地图大头针)拖动及缩放问题&&&
我要实现一个高德地图的定位功能,具体如下:1、定位某一个坐标,显示该坐标的大头针在屏幕的正中央;2、拖动地图后,大头针保持在屏幕的正中央。拖动结束后大头针重新获取其在地图上的坐标;3、缩放地图,以屏幕的中心点(大头针)为中心缩放。现在我已经实现了1 和 2,但是3我没有思路,请问大家有什么想法。谢谢!- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {&&&&if (self.drawRect) {&&&&&&&&[annotationView addSubview:self.drawRect];&&&&}&&&&[_mapViews addSubview:annotationView];&&&&[self.fakeView removeFromSuperview];&&&&&&&&MKCoordinateR&&&&CLLocationCoordinate2D centerCoordinate = mapView.region.&&&&region.center = centerC&&&&annotationView.annotation.coordinate = region.&&}
级别: 新手上路
可可豆: 16 CB
威望: 16 点
在线时间: 213(时)
发自: Web Page
哥们,你能把你做的发我邮箱&&&& 我看看&&&& 谢谢了
级别: 骑士
UID: 400498
可可豆: 381 CB
威望: 374 点
在线时间: 1090(时)
发自: Web Page
回 楼主(DericLee) 的帖子
缩放啥意思&&设置地图的层级大小?
级别: 新手上路
可可豆: 16 CB
威望: 16 点
在线时间: 213(时)
发自: Web Page
,你就给我发一份吧 真的万分感谢啊&&江湖救急啊
关注本帖(如果有新回复会站内信通知您)
个人IDP证书一年费用? 正确答案:99美金
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版

我要回帖

更多关于 百度地图 大头针 拖动 的文章

 

随机推荐