1. 程式人生 > >ios 百度地圖軌跡回放一點心得

ios 百度地圖軌跡回放一點心得

由於專案需要,需要通過百度地圖sdk實現軌跡回放。

使用一個非常簡單的辦法來實現軌跡回放。

話不多說,出來吧,程式碼君。

1,使用的是BMKPointAnnotation。

@interface TrackMapViewController (){
    BMKPointAnnotation * pointAnnotation;
}


2,通過伺服器回傳值,繪製行駛路徑軌跡

  CLLocationCoordinate2D start_coor[steparray.count];
            
            
            for (int i = 0; i<steparray.count;i++) {
                start_coor[i].latitude = [[[steparray objectAtIndex:i]objectForKey:@"lat"] floatValue];
                start_coor[i].longitude = [[[steparray objectAtIndex:i]objectForKey:@"lon"] floatValue];
                
            }
            
            [mapView setCenterCoordinate:start_coor[0]];
            
            
            BMKPolyline * polyline = [BMKPolyline polylineWithCoordinates:start_coor count:steparray.count];
            [mapView addOverlay:polyline];
            
            pointAnnotation = [[BMKPointAnnotation alloc]init];
            
            pointAnnotation.coordinate = start_coor[0];
            pointAnnotation.title = @"起點";
            [mapView addAnnotation:pointAnnotation];

3,使用NSTimer,間隔一定時間重新整理point位置,達到播放軌跡效果
        timer =[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(playTrack) userInfo:nil repeats:YES];

4,重新整理point
#pragma mark - 動畫
-(void)playTrack{
    
    if (timeCount<steparray.count) {
        
        CLLocationCoordinate2D start_coor;
        start_coor.latitude = [[[steparray objectAtIndex:timeCount]objectForKey:@"lat"] floatValue];
        start_coor.longitude = [[[steparray objectAtIndex:timeCount]objectForKey:@"lon"] floatValue];
        
        timeCount = timeCount++;
        
        pointAnnotation.title = @"軌跡";
        pointAnnotation.coordinate = start_coor;
        
        
        [mapView setCenterCoordinate:start_coor];
    }
    else
    {
        [timer invalidate];
        
       [[[UIAlertView alloc]initWithTitle:@"提示" message:@"播放結束" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil]show];
    }
    
}

5,有興趣可以在此基礎上實現暫停,2倍速,等功能。

相關推薦

ios 地圖軌跡一點心得

由於專案需要,需要通過百度地圖sdk實現軌跡回放。 使用一個非常簡單的辦法來實現軌跡回放。 話不多說,出來吧,程式碼君。 1,使用的是BMKPointAnnotation。 @interface TrackMapViewController (){ BMKPoint

android 地圖軌跡

android百度地圖實現軌跡回放,就需要用PolylineOptions畫線作為軌跡效果,和新增覆蓋物移動就可以了 package baidumapsdk.demo; import java.util.ArrayList; import java.util.L

地圖軌跡,自定義路書,邊走邊畫線

var arrPois=[new BMap.Point(116.403984,39.914004),new BMap.Point(116.402116,39.913938),new BMap.Point(116.402116,39.913938),new BMap.Point(116.402046,39.91

ios 地圖根據路徑規劃自動縮,顯示完整路線

//根據polyline設定地圖範圍 - (void)mapViewFitPolyLine:(BMKPolyline *) polyLine { CGFloat ltX, ltY, rbX, rbY; if (polyLine.pointCount &

地圖軌跡(Andriod SDK)

專案結構 BaseActivity.java package siso.track.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; impor

使用GMap.NET類庫,實現地圖軌跡。(WPF版)

前言 實現軌跡回放,GMap.NET有對應的類GMapRoute。這個類函式很少,功能有限,只能實現簡單的軌跡回放。要實現更復雜的軌跡回放,就需要自己動手了。 本文介紹一種方法,可以實現複雜的軌跡回放。有句話“功夫在詩外”,GMap.NET給你提供了基本地圖處理功能;但是不要讓CMap.NET束縛了手腳。

地圖軌跡

 function guigui(){      //alert("fdhkj");       // 百度地圖定義中心點     map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);     // 百度地圖滾輪可縮放

iOS 地圖點聚合在房地產專案中的應用

1.公司的專案是面向房地產的,包含新房(全國多個分公司),存租房(與建行建方的合作)專案,所以地圖與看房相結合比較多,之前為了進度,地圖這一塊的業務都是H5實現,現在穩定下來後,H5的體驗度不是很高,所以地圖這一塊全部換成原生。這篇文章也是做個探索和總結,以便

用Swift語言使用IOS地圖(折線的使用方法很特別)

摘要 本文旨在講解如何使用Swift語言單獨整合百度地圖的SDK 前言 百度地圖iOS SDK是一套基於armv7、armv7s、arm64(自v2.5.0版本)處理器裝置的應用程式介面,不僅提供構建地圖的基本介面,還提供POI搜尋、地理編碼、路線規劃、定位、

mui 地圖軌跡

ava 4.2 行數 jquer ctype tom move state 根據 <!doctype html><html> <head> <meta charset="UTF-8"> <

IOS 地圖定位,顯示地理位置

最近公司要做一個類似與美團的東西,讓我用百度地圖來進行定位,並顯示地理資訊. 預覽圖 那麼我們要如何做呢,直接上程式碼 先看看包結構,要把需要用到的庫都要引入進來. 包結構 注意:appdelegate.mm 字尾一定要加個m 不然的話編譯會不通過,好像是因為它的編譯原

iOS地圖 定位,獲取當前經緯度

百度地圖定位 #import "ViewController.h" #import <BaiduMapAPI_Location/BMKLocationService.h> @interface ViewController ()<BMKLoca

IOS地圖自定義大頭針和氣泡

文/煜寒了(簡書作者) 原文連結:http://www.jianshu.com/p/6a334f071c69 著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。1.首先實現新增多個標註和自定義氣泡 新增自定義標註 [_mapView addAnnotations:array]; arry 中放入標

iOS 地圖改變popview 及改變定點陣圖標

///定點陣圖標名稱,需要將該圖片放到 mapapi.bundle/images 目錄下 @property (nonatomic, strong) NSString* locationViewImgName; BMKLocationViewDisplayPara

BaiduMap SDK-地圖的縮、旋轉和俯視功能實現

目錄 1 簡介 2 程式碼實現 2.1 縮放 2.2 旋轉 2.3 俯視 1 簡介 要實現BaiduMap的平移、縮放、旋轉和俯視功能,需要先開啟對應功能,才可以進行操作, 2 程式碼實現 2.1 縮放 縮放範圍:3.0~19.0

IOS地圖定位總結

#pragma mark 註冊百度地圖 - (void)reguestBaiduMap {     // 要使用百度地圖,請先啟動BaiduMapManager     mapManager = [[BMKMapManager alloc]init];     BOOL ret = [mapManager

地圖設定縮比例

BaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo());當引數為4及以下時地圖上每釐米的長度為1000公里,5則是500公里,依次縮放。15是500

IOS地圖開發系列-控制元件的圓角設定

我們從上圖看到的(我個人認為是UIButton)圖示為圓角的形狀,使用CALayer來實現, 首先,CALayer和UIView是糾纏不清,相依相存的:兩者都繼承與NSObject類,應該說兩者本質上是一樣的,只不過UIView相對於CALayer來說增加了響應事件。 U

iOS 地圖路線繪製與小車平滑移動

專案中用到了百度地圖,記錄一下,為以後開發提供幫助 紋理繪製和分段顏色繪製 我們在利用百度地圖計算出路線的點後可以在地圖上繪製出自己想要的紋理路線或者分段顏色顯示,通過自定義或者利用百度給出的類直接繪製。 我們在計算出路線之後就需要進行路線的繪製了

iOS地圖點選BMKPointAnnotation後把該座標點放到螢幕任意位置

由於百度地圖設定螢幕中心點只有一個方法:/// 當前地圖的中心點,改變該值時,地圖的比例尺級別不會發生變化@property (nonatomic) CLLocationCoordinate2D centerCoordinate;但是我們有時可能有需求放到距離任意一點,比如點