react-native-baidu-map

地圖

百度地圖的環(huán)境配置這里就不過多介紹,在簡書里搜索react-native-baidu-map就一大堆腻菇。而且都寫的不錯(cuò)园细,自愧不如惦积。就不在這里寫了。今天我們來聊聊react-native-baidu-map一些自己遇到的坑猛频。

有些坑狮崩,issue是可以幫到你的蛛勉。

之前項(xiàng)目中用到了百度地圖。只是需要地位功能厉亏。因此我只是將環(huán)境配置放入董习。當(dāng)然拉,在環(huán)境配置上爱只,也遇到大大小小的問題皿淋。最大的坑就是上頭只給了我一個(gè)key還是安卓的。而我的運(yùn)行環(huán)境是mac機(jī)上恬试。運(yùn)行了老半天了窝趣,一直發(fā)現(xiàn),地圖無法顯示训柴。哑舒。。啊幻馁。多么痛的領(lǐng)悟洗鸵。一定要有兩個(gè)key一個(gè)安卓key仗嗦,一個(gè)ioskey膘滨。很多人會(huì)在react-native-baidu-map遇到大大小小的問題。當(dāng)然issue是可以幫助到你的稀拐。很多人會(huì)在issue上問問題火邓。很多的問題,你可以找到答案和解決的方案德撬。

有些坑铲咨,issue、baidu蜓洪、google也幫不到你纤勒。

就好比項(xiàng)目中有這樣的需求,改變指針也就是地圖屬性中的markers隆檀,然后讓地圖重新定位踊东,定位之后訪問接口,請(qǐng)求參數(shù)刚操,得到離你附近最近的“building”闸翅。
自己造了一些假數(shù)據(jù)-需求如圖所示:

QQ20170710-231307.gif

這是ios的顯示效果,和預(yù)期的效果非常的相似菊霜,我以為我的功能就這么輕輕松松的實(shí)現(xiàn)坚冀,其實(shí)不然,在android上卻遇到了一個(gè)巨大的坑鉴逞。
android上會(huì)報(bào)錯(cuò)“Error while updating property 'markers' of a viewmanaged by:RCTBaiduMapView”大致是這樣的记某。說的是在更新組件markers的時(shí)候RCTBaiduMapView這里控制不了這個(gè)marker司训。嘗試了一下午,也看了很多他人寫的液南,基本都是跑demo壳猜。也在issue,當(dāng)然拉滑凉,也沒得到回復(fù)统扳。我就想,是不是在改變marker的時(shí)候一定要帶著其他的參數(shù)一起呢畅姊。
果不其然咒钟。

總結(jié)如下

  1. 不要在this.state 里定義 center marker 和 markers。
  2. 在給到marker進(jìn)行setState的時(shí)候需要帶入?yún)?shù)若未,center和zoom朱嘴。
  3. geocode(city,address)方法是通過傳入?yún)?shù)得到經(jīng)緯度粗合,這里的經(jīng)緯度是string類型萍嬉。而需要的參數(shù)是num類型,需要通過parseFloat()的方法轉(zhuǎn)化一下隙疚。如果需要精確到多少位壤追,也可以使用NumObject.toFixed()方法。
  4. 前兩點(diǎn)在android的時(shí)候需要特別注意甚淡。
  this.state = {
        mayType: MapTypes.NORMAL,
        zoom: 15,
        trafficEnabled: false,
        baiduHeatMapEnabled: false,
       
    };

在componentWillMount()方法里獲取并且定義地址大诸。

componentWillMount(){
    var promise = Geolocation.geocode(city,address).then((data)=>{

        this.setState({
            zoom:18,
            markers:[
                {
                    longitude:parseFloat(data.longitude),
                    latitude:parseFloat(data.latitude),
                    title:'當(dāng)前位置',
                }
            ],
            center:{
                longitude:parseFloat(data.longitude),
                latitude:parseFloat(data.latitude)
            },
        }).catch((error)=>{console.log(error)})}

在render里捅厂。通過點(diǎn)擊 贯卦,實(shí)現(xiàn)標(biāo)志點(diǎn)的移動(dòng)和重定位。

                <MapView
                trafficEnabled={this.state.trafficEnabled}
                baiduHeatMapEnabled={this.state.baiduHeatMapEnabled}
                zoom={this.state.zoom}
                mapType={this.state.mapType}
                center={this.state.center}
                markers={this.state.markers}
                style={styles.map}
                //點(diǎn)擊獲得當(dāng)前的地址焙贷。
                onMapClick={(e)=>{
                    let json = JSON.stringify(e);
                    this.setState({
                        zoom:15,                    
                        markers:[
                            {
                                longitude:e.longitude ,
                                latitude: e.latitude,
                                title:'當(dāng)前位置',
                            }
                        ],
                        center:{
                            longitude:e.longitude ,
                            latitude: e.latitude,
                        },
                    })
                    let param = {
                        longitude:e.longitude ,
                        latitude: e.latitude,
                    }
                    DeviceEventEmitter.emit('krislee',param);
                }}

            >
            </MapView>

地圖這個(gè)功能不管在web還是app都是非常需要下功夫去好好研究的東西撵割。之后有什么分享的,我也會(huì)寫出一起分享辙芍。有不對(duì)的地方啡彬,希望大神可以指點(diǎn)出來。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末故硅,一起剝皮案震驚了整個(gè)濱河市庶灿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吃衅,老刑警劉巖往踢,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徘层,居然都是意外死亡峻呕,警方通過查閱死者的電腦和手機(jī)利职,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘦癌,“玉大人猪贪,你說我怎么就攤上這事⊙端剑” “怎么了热押?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長妄帘。 經(jīng)常有香客問我楞黄,道長,這世上最難降的妖魔是什么抡驼? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任鬼廓,我火速辦了婚禮,結(jié)果婚禮上致盟,老公的妹妹穿的比我還像新娘碎税。我一直安慰自己,他們只是感情好馏锡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布雷蹂。 她就那樣靜靜地躺著,像睡著了一般杯道。 火紅的嫁衣襯著肌膚如雪匪煌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天党巾,我揣著相機(jī)與錄音萎庭,去河邊找鬼。 笑死齿拂,一個(gè)胖子當(dāng)著我的面吹牛驳规,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播署海,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼吗购,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砸狞?” 一聲冷哼從身側(cè)響起捻勉,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刀森,沒想到半個(gè)月后踱启,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年禽捆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笙什。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胚想,死狀恐怖琐凭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浊服,我是刑警寧澤统屈,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站牙躺,受9級(jí)特大地震影響愁憔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜孽拷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一吨掌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脓恕,春花似錦膜宋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乃秀,卻和暖如春肛著,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跺讯。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工枢贿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抬吟。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓萨咕,卻偏偏與公主長得像统抬,于是被迫代替她去往敵國和親火本。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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