iOS 百度地圖v2.9.1 API 的詳細(xì)使用(二)

基礎(chǔ)地圖

開發(fā)者可利用SDK提供的接口,使用百度提供的基礎(chǔ)地圖數(shù)據(jù)。目前百度地圖SDK所提供的地圖等級(jí)為19級(jí),所包含的信息有建筑物、道路、河流、學(xué)校、公園等內(nèi)容。

百度地圖支持多點(diǎn)觸摸、雙擊放大、多點(diǎn)單擊縮小、旋轉(zhuǎn)等手勢(shì)操作,此外自2.2.0版本起,支持相應(yīng)的控制接口來(lái)開啟/關(guān)閉這些手勢(shì)操作;此外,在該版本地圖對(duì)象實(shí)現(xiàn)了多實(shí)例特性,即開發(fā)者可以在一個(gè)頁(yè)面中建立多個(gè)地圖對(duì)象,并且針對(duì)這些對(duì)象分別操作且不會(huì)產(chǎn)生相互干擾。具體使用方法請(qǐng)參考MultiMapViewDemo的介紹。

地圖上自定義的標(biāo)注點(diǎn)和覆蓋物我們統(tǒng)稱為地圖覆蓋物。您可以通過(guò)定制BMKAnnotation和BMKOverlay來(lái)添加對(duì)應(yīng)的標(biāo)注點(diǎn)和覆蓋物。地圖覆蓋物的設(shè)計(jì)遵循數(shù)據(jù)與View分離的原則,BMKAnnotation和BMKOverlay系列的類主要用來(lái)存放覆蓋物相關(guān)的數(shù)據(jù),BMKAnnotaionView和BMKOverlayView系列類為覆蓋物對(duì)應(yīng)的View。

SDK支持畫點(diǎn)、折線、圓、多邊形(包括凹凸兩種)、圖片圖層和自定義覆蓋物。從2.0.0開始矢量地圖采用OpenGL繪制,新增支持OpenGL繪制的基本線繪制、面繪制接口。詳見AnnotationDemo,SDK內(nèi)置的BMKPolylineOverlay、BMKPolygonOverlay,BMKCircleOverlay均采用OpenGL繪制。

1. 衛(wèi)星圖

//切換為衛(wèi)星圖

[_mapView setMapType:BMKMapTypeSatellite];

運(yùn)行后效果如下:

2. 由衛(wèi)星圖切換為普通矢量圖的核心代碼如下:

//切換為普通地圖

[_mapView setMapType:BMKMapTypeStandard];

3. 實(shí)時(shí)交通圖

利用地圖SDK所提供的接口,開發(fā)者可顯示當(dāng)前地圖城市內(nèi)的實(shí)時(shí)路況信息(點(diǎn)擊查看支持實(shí)時(shí)路況的城市)。此外,自2.0.0版本起,SDK還支持城際(城市之間,如高速)路況。

開啟實(shí)時(shí)路況的核心代碼如下:

//打開實(shí)時(shí)路況圖層

[_mapView setTrafficEnabled:YES];

運(yùn)行后效果如下:

關(guān)閉實(shí)時(shí)路況的核心代碼如下:

//關(guān)閉實(shí)時(shí)路況圖層

[_mapView setTrafficEnabled:NO];

4. 百度城市熱力圖

百度地圖SDK繼為廣大開發(fā)者開放熱力圖本地繪制能力之后,再次進(jìn)一步開放百度自有數(shù)據(jù)的城市熱力圖層,幫助開發(fā)者構(gòu)建形式更加多樣的移動(dòng)端應(yīng)用。

百度城市熱力圖的性質(zhì)及使用與實(shí)時(shí)交通圖類似,只需要簡(jiǎn)單的接口調(diào)用,即可在地圖上展現(xiàn)樣式豐富的百度城市熱力圖。

在地圖上使用百度城市熱力圖的核心代碼如下:

//打開百度城市熱力圖圖層(百度自有數(shù)據(jù))

[_mapView setBaiduHeatMapEnabled:YES];

運(yùn)行后效果如下:

//關(guān)閉百度城市熱力圖圖層(百度自有數(shù)據(jù))

[_mapView setBaiduHeatMapEnabled:NO];

5. 地圖標(biāo)注

1). 標(biāo)注

BMKAnnotation為標(biāo)注對(duì)應(yīng)的protocal,您可以自定義標(biāo)注類實(shí)現(xiàn)該protocal。百度地圖SDK也預(yù)置了基本的標(biāo)注點(diǎn)(BMKPointAnnotation)和一個(gè)大頭針標(biāo)注View(BMKPinAnnotationView),您可以直接使用來(lái)顯示標(biāo)注。方法如下:

第一步,ViewController 遵守 BMKMapViewDelegate 協(xié)議:

第二步,修改ViewController.m文件,實(shí)現(xiàn)BMKMapViewDelegate的_mapView:viewForAnnotation:函數(shù),并在viewDidAppear添加標(biāo)注數(shù)據(jù)對(duì)象,核心代碼如下:

運(yùn)行后,會(huì)在地圖顯示對(duì)應(yīng)的標(biāo)注點(diǎn),點(diǎn)擊會(huì)彈出氣泡,效果如圖:

通過(guò)以上幾步簡(jiǎn)單的操作,您就可以實(shí)現(xiàn)在地圖上添加標(biāo)注了,相應(yīng)的刪除標(biāo)注方法如下:

2). 點(diǎn)聚合功能

自v2.9.0版本起,新增點(diǎn)聚合功能,可通過(guò)縮小地圖層級(jí),將定義范圍內(nèi)的多個(gè)標(biāo)注點(diǎn),聚合顯示成一個(gè)標(biāo)注點(diǎn),解決加載大量點(diǎn)要素到地圖上產(chǎn)生覆蓋現(xiàn)象的問(wèn)題,并提高性能。此次在Demo中開放源碼,方便開發(fā)者自行修改。

添加點(diǎn)聚合的方法:

I. 聲明點(diǎn)聚合管理類為全局變量,并初始化,核心代碼如下:

BMKClusterManager*_clusterManager;//點(diǎn)聚合管理類

//初始化點(diǎn)聚合管理類

_clusterManager = [[BMKClusterManager alloc]init];

II. 向點(diǎn)聚合管理類中添加點(diǎn),核心代碼如下

CLLocationCoordinate2D coor = CLLocationCoordinate2DMake(39.915,116.404);

//向點(diǎn)聚合管理類中添加標(biāo)注

for(NSInteger i=0;i<20;i++){

double lat=(arc4random()%100)*0.001f;

double lon=(arc4random()%100)*0.001f;

BMKClusterItem *clusterItem = [[BMKClusterItem alloc]init];

clusterItem.coor = CLLocationCoordinate2DMake(coor.latitude+lat,coor.longitude+lon);[_clusterManager addClusterItem:clusterItem];

}

III. 獲取聚合后的點(diǎn),并添加到地圖中,核心代碼如下

///獲取聚合后的標(biāo)注

NSArray *array = [_clusterManager getClusters:_clusterZoom];

NSMutableArray *clusters = [NSMutableArray array];

for(BMKCluster *iteminarray) {

ClusterAnnotation *annotation = [[ClusterAnnotation alloc]init];

annotation.coordinate = item.coordinate;

annotation.size = item.size;

annotation.title = [NSString stringWithFormat:@"我是%ld個(gè)",item.size];

[clusters addObject:annotation];

}

[_mapView removeAnnotations:_mapView.annotations];

[_mapView addAnnotations:clusters];

具體源碼請(qǐng)?jiān)贑lusterDemo中查看。

3). 底圖標(biāo)注

自v2.9.0版本起,SDK給BMKMapView提供了控制底圖標(biāo)注的showMapPoi方法,默認(rèn)顯示底圖標(biāo)注。利用此方法可得到僅顯示道路信息的地圖。

將底圖標(biāo)注設(shè)置為隱藏,方法如下:

//設(shè)置隱藏地圖標(biāo)注

[_mapView setShowMapPoi:NO];

運(yùn)行后,底圖標(biāo)注被隱藏,效果如圖:

4). 幾何圖形

百度地圖SDK支持的幾何圖形有:折線、弧線、多邊形和圓,折線、弧線及其他幾何圖形的邊框自v2.6.0版本起支持使用虛線或者紋理圖片進(jìn)行繪制(具體使用方法請(qǐng)參考官方Demo,覆蓋物章節(jié)的介紹)。我們可利用相應(yīng)的接口,在地圖上快速繪制這些圖形,滿足相應(yīng)的業(yè)務(wù)需求。

I. 折線

在地圖上添加折線的方法如下:

運(yùn)行后效果如下:

iOS地圖SDK自v2.8.0版本起,新增了折線多段顏色繪制能力,實(shí)現(xiàn)的核心代碼如下:

運(yùn)行效果如下:

自v2.9.0版本起,新增了折線分段顏色繪制能力

實(shí)現(xiàn)的核心代碼如下:

第一步,添加折線分段顏色繪制覆蓋物,核心代碼如下:

CLLocationCoordinate2D coords[5]={0};

coords[0].latitude=39.965;

coords[0].longitude=116.404;

coords[1].latitude=39.925;

coords[1].longitude=116.454;

coords[2].latitude=39.955;

coords[2].longitudev = 116.494;

coords[3].latitudev=39.905;

coords[3].longitude =116.554;

coords[4].latitude = 39.965;

coords[4].longitude = 116.604;

//構(gòu)建分段顏色索引數(shù)組

NSArray*colorIndexs = [NSArray arrayWithObjects:[NSNumber numberWithInt:2],

[NSNumber numberWithInt:0],

[NSNumber numberWithInt:1],

[NSNumber numberWithInt:2],nil];

//構(gòu)建BMKPolyline,使用分段顏色索引,其對(duì)應(yīng)的BMKPolylineView必須設(shè)置colors屬性.

BMKPolyline*colorfulPolyline=[BMKPolyline polylineWithCoordinates:coords count:5 textureIndex:colorIndexs];

[_mapView addOverlay:colorfulPolyline];

第二步,實(shí)現(xiàn)BMKMapViewDelegate回調(diào),核心代碼如下:

//根據(jù)overlay生成對(duì)應(yīng)的View

- (BMKOverlayView*)mapView:(BMKMapView*)mapView viewForOverlay:(id)overlay {

if([overlay isKindOfClass:[BMKPolylineclass]]) {

BMKPolylineView *polylineView = [[BMKPolylineView alloc]initWithOverlay:overlay];

polylineView.lineWidth=5;

/// 使用分段顏色繪制時(shí),必須設(shè)置(內(nèi)容必須為UIColor)

polylineView.colors = [NSArray arrayWithObjects:[UIColor greenColor],

[UIColor redColor],

[UIColor yellowColor],nil];

returnpolylineView;

}

returnnil;

}

運(yùn)行效果如下:

?II. 弧線

百度地圖iOS SDK自v2.1.1版本起,新增了繪制弧線的方法。可以根據(jù)三個(gè)有序點(diǎn)唯一確定一條弧線。首先,修改.m文件,實(shí)現(xiàn)BMKMapViewDelegate的_mapView:viewForOverlay:方法,并在viewDidLoad添加弧線數(shù)據(jù)對(duì)象,核心代碼如下:

運(yùn)行效果如下:

III. 多邊形

修改ViewController.h文件,使其實(shí)現(xiàn)BMKMapViewDelegate;同時(shí)修改ViewController.m文件,實(shí)現(xiàn)BMKMapViewDelegate的_mapView:viewForOverlay:函數(shù),并在viewDidLoad添加多邊形數(shù)據(jù)對(duì)象。核心代碼如下:

運(yùn)行效果如下:

IV. 圓

與多邊形實(shí)現(xiàn)的方式類似,首先要修改ViewController.h文件,實(shí)現(xiàn)BMKMapViewDelegate協(xié)議;然后修改ViewController.m文件,實(shí)現(xiàn)BMKMapViewDelegate的_mapView:viewForOverlay:函數(shù),并在viewDidLoad添加圓數(shù)據(jù)對(duì)象。核心代碼如下:

運(yùn)行效果如下:

V. 地形圖圖層

自V2.1.0開始,新增圖片圖層,開發(fā)者可在地圖的指定位置上添加圖片。該圖片可隨地圖的平移、縮放、旋轉(zhuǎn)等操作做相應(yīng)的變換。圖片圖層是一種特殊的Overlay, 它位于底圖和底圖標(biāo)注層之間(即圖片圖層不會(huì)遮擋地圖標(biāo)注信息), 此外,圖片圖層的添加順序不會(huì)影響其他圖層(例如:POI搜索圖層、我的位置圖層等)的疊加關(guān)系。

圖片圖層對(duì)象初始化的方法有兩種:(1)根據(jù)指定經(jīng)緯度坐標(biāo)生成 (2)根據(jù)指定區(qū)域生成。下面舉例分步說(shuō)明添加圖片圖層的步驟:

運(yùn)行效果如下圖:

VI. 熱力圖功能

熱力圖是用不同顏色的區(qū)塊疊加在地圖上描述人群分布、密度和變化趨勢(shì)的一個(gè)產(chǎn)品,百度地圖SDK將繪制熱力圖的能力為廣大開發(fā)者開放,幫助開發(fā)者利用自有數(shù)據(jù),構(gòu)建屬于自己的熱力圖,提供豐富的展示效果。

注意:此處的“熱力圖功能”不同于“百度城市熱力圖”。百度城市熱力圖通過(guò)簡(jiǎn)單的接口調(diào)用,開發(fā)者可展示百度數(shù)據(jù)的熱力圖層。而此處的熱力圖功能,需要開發(fā)者傳入自己的位置數(shù)據(jù),然后SDK會(huì)根據(jù)熱力圖繪制規(guī)則為開發(fā)者做本地的熱力圖渲染繪制。

利用熱力圖功能構(gòu)建自有數(shù)據(jù)熱力圖的方式如下:

運(yùn)行結(jié)果如下:

VII. 自定義覆蓋物

從v2.0.0開始,地圖渲染采用OpenGL方式實(shí)現(xiàn),因此覆蓋物基類BMKOverlayView新增glRender接口,以及繪制基本線renderLinesWithPoints、面renderRegionWithPoints的接口來(lái)實(shí)現(xiàn)對(duì)覆蓋物的OpenGL渲染。繪制自定義overlay時(shí),繼承BMKOverlayView的子類需實(shí)現(xiàn)glRender接口,在glRender中通過(guò)調(diào)用renderLinesWithPoints、renderRegionWithPoints來(lái)組合自己想要實(shí)現(xiàn)的圖形。

CustomOverlayView繼承BMKOverlayPathView,在CustomOverlayView中實(shí)現(xiàn)glRender。核心代碼如下所示:

從2.0.0開始,地圖渲染采用OpenGL方式實(shí)現(xiàn),因此覆蓋物基類BMKOverlayView新增glRender接口,以及繪制基本線renderLinesWithPoints、面renderRegionWithPoints的接口來(lái)實(shí)現(xiàn)對(duì)覆蓋物的OpenGL渲染。繪制自定義overlay時(shí),繼承BMKOverlayView的子類需實(shí)現(xiàn)glRender接口,在glRender中通過(guò)調(diào)用renderLinesWithPoints、renderRegionWithPoints來(lái)組合自己想要實(shí)現(xiàn)的圖形。

CustomOverlayView繼承BMKOverlayPathView,在CustomOverlayView中實(shí)現(xiàn)glRender。核心代碼如下所示:

-(void)glRender{

//自定義overlay繪制

CustomOverlay *customOverlay = [self customOverlay];

if(customOverlay.pointCount>=3)?{

[self renderRegionWithPoints:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?customOverlay.pointspointCount:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?customOverlay.pointCountfillColor:self.fillColorusingTriangleFan:YES];

//繪制多邊形

}else{

[self renderLinesWithPoints:

customOverlay.pointspointCount:

? ? ? ? ? ? ? ? ? ? ? ? customOverlay.pointCountstrokeColor:

? ? ? ? ? ? ? ? ? ? ? ? self.strokeColorlineWidth:

self.lineWidthlooped:NO];

//繪制線

}

}

如果不實(shí)現(xiàn)glRender,則需實(shí)現(xiàn)drawMapRect默認(rèn)使用系統(tǒng)GDI繪制,GDI繪制方式在overlayView尺寸較大時(shí)可能有效率問(wèn)題,因此建議使用glRender來(lái)實(shí)現(xiàn)自定義overlay繪制。

針對(duì)已添加的自定義覆蓋物,您可以通過(guò)一下方式進(jìn)行刪除操作:

if(overlay!=nil){

[_mapView removeOverlay:overlay];

}

VIII. OpenGL繪制功能

自v2.6.0起,iOS地圖SDK為廣大開發(fā)者開放了OpenGL繪制功能,開發(fā)者可利用OpenGL的繪制來(lái)實(shí)現(xiàn)更多復(fù)雜的覆蓋物繪制。

v2.6.0新增BMKMapViewDelegate中新增-mapView:onDrawMapFrame:,地圖渲染每一幀畫面過(guò)程中,以及每次需要重繪地圖時(shí)(例如添加覆蓋物)都會(huì)調(diào)用此接口。開發(fā)者可以在這個(gè)接口中進(jìn)行opengl的繪制。不需要用戶自己創(chuàng)建context和buffer,步驟如下(具體代碼請(qǐng)參考BaiduMap_IOSSDK_SampleOpenGL繪制功能 部分):

1、轉(zhuǎn)換坐標(biāo)(坐標(biāo)系原點(diǎn)為地圖中心點(diǎn));

2、根據(jù)地圖的狀態(tài),設(shè)置旋轉(zhuǎn)和縮放比例;

3、繪制;

IX. 瓦片圖層

iOS地圖SDK自v2.9.0起,新增瓦片圖層(tileOverlay), 該圖層支持開發(fā)者添加自有瓦片數(shù)據(jù),包括本地加載和在線下載兩種方式。

該圖層可隨地圖的平移、縮放、旋轉(zhuǎn)等操作做相應(yīng)的變換,它僅位于底圖之上(即瓦片圖層將會(huì)遮擋底圖,不遮擋其他圖層),瓦片圖層的添加順序不會(huì)影響其他圖層(例如:POI搜索圖層、我的位置圖層等)的疊加關(guān)系,適用于開發(fā)者擁有某一區(qū)域的地圖,并希望使用此區(qū)域地圖覆蓋相應(yīng)位置的百度地圖。

一、瓦片劃分規(guī)則:

百度地圖SDK會(huì)根據(jù)不同的比例尺將地圖劃分成若干個(gè)瓦片,并且以中心點(diǎn)經(jīng)緯度(0,0)開始計(jì)算瓦片,當(dāng)?shù)貓D顯示縮放級(jí)別增大時(shí),每一個(gè)瓦片被劃分成4 個(gè)瓦片。如:

地圖級(jí)別為0時(shí),只有1張瓦片

地圖級(jí)別為1時(shí),會(huì)分成 1 * 4 = 4 張瓦片

依次類推,

地圖級(jí)別為n時(shí),總共劃分的瓦片為:4的n次方

為了保證瓦片的顯示效果,第n級(jí)的瓦片顯示的地圖level范圍為[n - 0.5, n + 0.5)

二、瓦片圖層分為本地加載和在線下載兩種繪制方式。

1. 本地加載,將圖片打包于應(yīng)用內(nèi),適用于圖片較小且不需要頻繁變更,通過(guò)繼承BMKSyncTileLayer實(shí)現(xiàn),具體請(qǐng)參考demo,效果如下:

2. 在線下載,將圖片存放于開發(fā)者提供的服務(wù)中,提供給SDK一個(gè)URL模板,適用于圖片需要隨時(shí)變更,下面舉例說(shuō)明添加在線瓦片圖層的步驟:

I. 根據(jù)URL模版(即指向相關(guān)圖層圖片的URL)創(chuàng)建BMKURLTileLayer對(duì)象。

BMKURLTileLayer *urlTileLayer = [[BMKURLTileLayer alloc] initWithURLTemplate:@"http://api0.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&udt=20150601&customid=light"];

II. 設(shè)置BMKURLTileLayer的可見最大/最小Zoom值。

urlTileLayer.maxZoom=18;

urlTileLayer.minZoom=16;

III. 設(shè)定BMKURLTileLayer的可渲染區(qū)域。

urlTileLayer.visibleMapRect = BMKMapRectMake(32994258,35853667,3122,5541);?

IV. 將BMKURLTileLayer對(duì)象添加到BMKMapView中

[_mapView addOverlay:urlTileLayer];

V. 實(shí)現(xiàn)BMKMapViewDelegate回調(diào),核心代碼如下

- (BMKOverlayView*)mapView:(BMKMapView*)mapView viewForOverlay:(id)overlay{

if([overlay isKindOfClass:[BMKTileLayerclass]]){

BMKTileLayerView *view = [[BMKTileLayerView alloc] initWithTileLayer:overlay];

return view;

}?return?nil;?}

運(yùn)行結(jié)果如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評(píng)論 6 530
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 97,947評(píng)論 3 413
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評(píng)論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,268評(píng)論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,817評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,039評(píng)論 0 285
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,551評(píng)論 1 331
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,502評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,662評(píng)論 1 366
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評(píng)論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,907評(píng)論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,255評(píng)論 3 389
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,637評(píng)論 2 370

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