iOS 點/長按地圖放/ 移除大頭針並顯示地址
// 首先建立一個類 接受 <MKAnnotation>
LHAnnotation.h
#import <Foundation/Foundation.h>
#import <MapKit/MKMapView.h>
@interface LHAnnotation : NSObject<MKAnnotation>
// Center latitude and longitude of the annotion view.
// The implementation of this property must be KVO compliant.
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
// Title and subtitle for use by selection UI.
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@end
// 地圖頁面MapViewController.h
#import "ViewController.h"
#import <MapKit/MKMapView.h>
@interface MapViewController : ViewController<CLLocationManagerDelegate>
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@end
MapViewController.m
#import "MapViewController.h"
#import "LHAnnotation.h"
@interface MapViewController ()<MKMapViewDelegate>
@end
@implementation MapViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// UITapGestureRecognizer *mTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPress:)];
UILongPressGestureRecognizer *mTap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(tapPress:)];
[self.mapView addGestureRecognizer:mTap];
}
- (void)tapPress:(UIGestureRecognizer*)gestureRecognizer {
[_mapView removeOverlays:_mapView.overlays];
[_mapView removeAnnotations:_mapView.annotations];
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);
CLGeocoder *geocoder = [[CLGeocoder alloc]init];
CLLocation *location = [[CLLocation alloc]initWithLatitude:touchMapCoordinate.latitude longitude:touchMapCoordinate.longitude];
__block NSString *name = nil;
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
for (CLPlacemark *place in placemarks) {
NSDictionary *location =[place addressDictionary];
NSLog(@"國家:%@",[location objectForKey:@"Country"]);
NSLog(@"城市:%@",[location objectForKey:@"State"]);
NSLog(@"區:%@",[location objectForKey:@"SubLocality"]);
NSLog(@"位置:%@", place.name);
NSLog(@"國家:%@", place.country);
NSLog(@"城市:%@", place.locality);
NSLog(@"區:%@", place.subLocality);
NSLog(@"街道:%@", place.thoroughfare);
NSLog(@"子街道:%@", place.subThoroughfare);
name = place.name;
LHAnnotation* annotation=[[LHAnnotation alloc]init];
annotation.coordinate=CLLocationCoordinate2DMake(touchMapCoordinate.latitude, touchMapCoordinate.longitude);
annotation.title=name;
// [email protected]"123";
[self.mapView addAnnotation:annotation];
}
}];
}
-(void)setMap
{
self.mapView=[[MKMapView alloc]init];
self.mapView.frame=self.view.bounds;
/**
*mapType
*
* MKMapTypeStandard = 0,
MKMapTypeSatellite,
MKMapTypeHybrid
*/
self.mapView.mapType=MKMapTypeStandard;
/**
*Set to YES to add the user location annotation to the map and start updating its location
*/
self.mapView.showsUserLocation=NO;
/**
*Zoom and scroll are enabled by default.
*/
self.mapView.scrollEnabled=YES;
self.mapView.zoomEnabled=YES;
/**
*Rotate and pitch are enabled by default on Mac OS X and on iOS 7.0 and later.
*/
self.mapView.pitchEnabled=YES;
self.mapView.rotateEnabled=YES;
[self.view addSubview:self.mapView];
}
相關推薦
iOS 點/長按地圖放/ 移除大頭針並顯示地址
// 首先建立一個類 接受 <MKAnnotation> LHAnnotation.h #import <Foundation/Foundation.h> #import <MapKit/MKMapView.h> @inter
iOS 一行程式碼處理子檢視(移除、隱藏等)
無需遍歷迴圈,一行程式碼處理子檢視邏輯 移除所有子檢視: [view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 顯示、隱藏所有子檢視 //隱藏所有子檢視 [view.subviews
點選按鈕後用jQuery禁止按鈕並顯示文字[正在處理...]
通過val設定按鈕的文字,並用attr修改disabled屬性。測試程式碼如下: <html> <body> <form method="get" action="ht
使用百度地圖SDK定位當前位置並顯示在地圖上
package com.shz.baidumap; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import andr
百度地圖手機端單觸點單擊和長按事件,解決部分手機(小米手機)地圖單擊事件失效,多觸點、拖動依然觸發長按的bug
|| ble apply timeout console dto eat 問題 int /** * Author 嶽曉 * * 對百度地圖的事件擴展,目前擴展了fastclick和longclick, * 解決某些設備click不執行的問題
IOS初學-簡單的手勢操作(單點,雙擊,長按)
手勢之前先來個旋轉。其它的簡單動畫同理 對檢視進行旋轉操作 func test8() { let view1=UIView(frame: CGRect(x: 50, y: 150, width: 200, height: 50));
iOS 實現點選圖片放大&長按儲存圖片
一:簡介 在專案中免不了會遇到,實名認證上傳身份證、繫結銀行卡等功能。在實際操作中呢,會涉及到上傳圖片,在頁面佈局時,可能圖片不是一張,考慮到佈局的美觀等因素,顯示圖片的位置變得很小,如果想檢視上傳的圖片是否清晰,內容是否完整,可能就需要放大才能實現,下面就和大家分享一下我封裝的一類,完美的
ios數字鍵盤,點選手勢、滑動、長按手勢並存,解決手勢衝突問題
嗯,之所以有手勢衝突,是因為數字鍵原來的開發定義的是uibutton,有事件衝突。關掉數字鍵的響應 enabled = false。手勢全部加入到數字鍵的super view,天然的系統就支援流暢的多手勢。如果點選的話,就判斷點選的點是否落在UILabel的frame裡面即可
iOS實現點選圖片放大&長按儲存圖片
一:簡介 在專案中免不了會遇到,實名認證上傳身份證、繫結銀行卡等功能。在實際操作中呢,會涉及到上傳圖片,在頁面佈局時,可能圖片不是一張,考慮到佈局的美觀等因素,顯示圖片的位置變得很小,如果想檢視上傳的圖片是否清晰,內容是否完整,可能就需要放大才能實現,下面就和
移動端阻止默認長按選中文本和彈出菜單、點擊陰影
prevent efault css mce web 點擊 阻止 tran call css:/*阻止默認長按選中文本*/* { /*ios*/ -webkit-touch-callout:none; touch-callout:none; /*安卓
百度地圖API一:根據標註點坐標範圍計算顯示縮放級別zoom自適應顯示地圖
var spa get bsp pan nts viewport 百度 getview 百度地圖中根據頁面中的point,自動設置縮放級別和視圖中心,將所有的point在視圖範圍內展示。 var points = [point1, point2,point3];
【Swift 4.0】iOS 11 UICollectionView 長按拖拽刪除崩潰的問題
又是 bdd val guard global 處理 nat false view 正文 功能 用 UICollectionView 實現兩個 cell 之間的位置交互或者拖拽某個位置刪除 問題 iOS 11 以上拖拽刪除會崩潰,在 i
iOS 自動移除KVO觀察者
nonatomic format 時機 value set observe fork tor @property 對NSObject寫一個分類: #import <Foundation/Foundation.h> @interface NSObject (F
百度地圖API二:根據標註點坐標範圍計算顯示縮放級別zoom自適應顯示地圖
max zoom 天地圖 功能 center 經緯 通過 極值 template 原文:百度地圖API二:根據標註點坐標範圍計算顯示縮放級別zoom自適應顯示地圖 版權聲明:本文為博主原創文章,轉載請註明出處。 https://blo
iOS開發移除子檢視控制器
OC語法中沒有直接移除子檢視的方法,但是可以通過查詢子檢視來移除 for(UIView *view in [self.view subviews]) { [view removefromsuperview] } 來點直接的:實際上是用了NSArray的mak
RecyclerView條目點選和長按
RecyclerView雖然很強大,但是沒有點選事件,美中不足!所以需要自己寫點選事件啦。 Activity介面 public class MainActivity extends AppCompatActivity { pr
GridView 使用,GirdView 方法屬性。GirdView 長按出現右上角圖示,點選圖示刪除
介面卡和 ListView 一樣。 GirdView 方法屬性 <GridView android:id="@+id/gv" android:horizontalSpacing="5dp" android:n
iOS swift cookie創建存儲移除
storage ssa 創建 form hive ios delet view on() 保存網絡請求的cookies,並存儲到UserDefaults中 //保存COOKIES static func saveCookies(for urlStr: Str
白鷺引擎實現點選後長按離開事件繫結
白鷺引擎 版本:5.2.8 描述:實現長按效果 繫結事件: this.物件.addEventListener(egret.TouchEvent.TOUCH_BEGIN,this.onPlayClick,this); //離開的事件
Android整合百度地圖-----顯示地圖、定位、長按顯示地址資訊
一、基礎部分 轉載請註明出處:https://blog.csdn.net/Hunter2916/article/details/82867205 1、下載百度地圖的SDK 下載地址:http://lbsyun.baidu.com/index.php?title=android-locsd