原生安卓:根據(jù)一串經(jīng)緯度繪制大體路徑/輪廓 canvas

公司需求要根據(jù)一串經(jīng)緯度繪制大體的路徑或是多邊形輪廓,不讓集成地圖sdk,只好自己通過canvas進行繪制齐佳。

實現(xiàn)思路:

(1)首先根據(jù)一串經(jīng)緯度中的最小的經(jīng)度最小緯度創(chuàng)建坐標原點。

(2)根據(jù)設(shè)備屏幕大小與最大的經(jīng)緯度差求得寬高比。

(3)格式化經(jīng)緯度點崎淳,將其轉(zhuǎn)為X Y坐標點,具體轉(zhuǎn)換方法代碼有貼愕把。需要注意的是:安卓手機的坐標原點是手機的左上角拣凹,Y軸越往下數(shù)值越大,但是(北)緯度越往下越小恨豁,需要做絕對值轉(zhuǎn)換嚣镜;


1.個人習(xí)慣首先布局文件

沒啥好說的 就一個linearLayout,記得設(shè)置id

2.Activity

該activity主要處理經(jīng)緯度數(shù)據(jù)、獲取屏幕的寬高橘蜜,具體的繪制過程在DrawView中菊匿。

代碼簡單貼一下:

(1)獲取傳來的經(jīng)緯度數(shù)組【經(jīng)度 緯度分開傳輸】;

(2)剔除數(shù)組里面為0.0的數(shù)據(jù)计福;如保證無此類數(shù)據(jù)跌捆,可刪除此段代碼;

(3)獲取屏幕的寬高象颖;

(4)實例化canvas,DrawView,將context,屏幕寬佩厚,屏幕高,緯度坐標數(shù)組说订,經(jīng)度坐標數(shù)組)傳進去抄瓦;

(5)繪制組件。

3.DrawView 主要的繪制工作在此View中進行

? ? 3.1實例化 接收數(shù)據(jù)陶冷;

? ? 3.2 繪制圖像


? ? 3.3獲取最小經(jīng)緯度钙姊,當做坐標原點

? ? 3.4 經(jīng)緯度坐標轉(zhuǎn)X Y坐標

用經(jīng)緯度減去最小經(jīng)緯度,取絕對值 *10000(本項目中經(jīng)緯度間隔較小埂伦,已實測間隔2M~1公里沒啥問題煞额,如果經(jīng)緯度間隔較大,可調(diào)整10000這個數(shù)值的大姓疵铡)

? ? 3.5獲取坐標點最大經(jīng)度差/緯度差與屏幕最大寬度/高度之間的比率

? ? 3.6 畫線

? ? 3.7 畫點

注意:x,y坐標取得后需要根據(jù)屏幕大小進行縮放膊毁,并且根據(jù)顯示結(jié)果,再進行調(diào)整(該出計算可能有出入类早,由于項目中使用定制設(shè)備媚媒,屏幕代銷固定嗜逻,故寫死了自定義縮放比例? overSizeRata=1.8)

-------------------------------代碼完--------------------------------------------------

實際效果:


每條邊的長度大約在幾百米到幾公里-參考煙臺港芝罘灣港區(qū)


每條邊的長度在幾十米到幾百米-參考煙臺上海灘花園G區(qū)


每條邊的長度在幾米到幾十米之間-參考煙臺新世界百貨一樓平面圖


每條邊的長度在2米到10米之間-參考 沒得參考 瞎整的

—————————————————全文完—————————————————————

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涩僻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逆日,老刑警劉巖嵌巷,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異室抽,居然都是意外死亡搪哪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門坪圾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晓折,“玉大人,你說我怎么就攤上這事兽泄±旄牛” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵病梢,是天一觀的道長胃珍。 經(jīng)常有香客問我,道長蜓陌,這世上最難降的妖魔是什么觅彰? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮钮热,結(jié)果婚禮上填抬,老公的妹妹穿的比我還像新娘。我一直安慰自己隧期,他們只是感情好痴奏,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厌秒,像睡著了一般读拆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸵闪,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天檐晕,我揣著相機與錄音,去河邊找鬼蚌讼。 笑死辟灰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的篡石。 我是一名探鬼主播芥喇,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼凰萨!你這毒婦竟也來了继控?” 一聲冷哼從身側(cè)響起械馆,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎武通,沒想到半個月后霹崎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡冶忱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年尾菇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囚枪。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡派诬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出链沼,到底是詐尸還是另有隱情千埃,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布忆植,位于F島的核電站放可,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏朝刊。R本人自食惡果不足惜耀里,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拾氓。 院中可真熱鬧冯挎,春花似錦、人聲如沸咙鞍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽续滋。三九已至翰守,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疲酌,已是汗流浹背蜡峰。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朗恳,地道東北人湿颅。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像粥诫,于是被迫代替她去往敵國和親油航。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容