iOS開(kāi)發(fā):采用URI方式跳轉(zhuǎn)到各類(lèi)地圖進(jìn)行導(dǎo)航

  • 最近在做導(dǎo)航混驰,所以把自己找到的資料總結(jié)一下攀隔!

  • 無(wú)論是百度地圖、高德地圖栖榨、谷歌地圖還是騰訊地圖它們都有自己的SDK,我們只需要在自己的工程中導(dǎo)入SDK并查看相應(yīng)的官方文檔明刷,基本上就可以實(shí)現(xiàn)導(dǎo)航婴栽。但是這樣每個(gè)地圖的SDK都導(dǎo)入不但麻煩而且占用APP的內(nèi)存。最關(guān)鍵的是我們上傳到AppStore的包文件是有限制的辈末。所以我的原則是能不導(dǎo)入的SDK 就不導(dǎo)入愚争。

  • 還有一種方式就是是以URI跳轉(zhuǎn)的方式(在iOS中就是以URL Scheme的方式),直接跳到對(duì)應(yīng)的地圖APP中挤聘,直接利用對(duì)方的功能來(lái)導(dǎo)航轰枝。缺點(diǎn)是用戶(hù)沒(méi)有安裝對(duì)應(yīng)的APP就不能使用其進(jìn)行導(dǎo)航。 點(diǎn)擊導(dǎo)航按鈕會(huì)出現(xiàn)如下的彈窗组去, 當(dāng)然手機(jī)上未安裝的地圖 其名稱(chēng)就不會(huì)出現(xiàn)在彈窗上鞍陨。

    1439521824220516.png

  • 在 iOS9之后 若想用URI方式跳轉(zhuǎn)到百度地圖、高德地圖从隆、騰訊地圖诚撵、谷歌地圖,需要你在info.plist加入這些東西键闺。(ps:LSApplicationQueriesSchemes寿烟,短的自己手打吧,另外注意類(lèi)型P猎铩)


    20160422164514276.png

以下出行的默認(rèn)方式都是駕車(chē)

一筛武、百度地圖

  1. 說(shuō)到百度地圖,就不得不說(shuō)它很坑爹挎塌。因?yàn)榘俣鹊貓D獲取的經(jīng)緯度徘六,是在GCJ-02(火星坐標(biāo))進(jìn)行偏移得到的經(jīng)緯度,而高德勃蜘、谷歌硕噩、騰訊都是使用GCJ-02坐標(biāo)體系得到的經(jīng)緯度。這樣使用百度地圖獲取到的經(jīng)緯度在高德缭贡、谷歌炉擅、騰訊上導(dǎo)航都會(huì)出現(xiàn)很大的偏差辉懒。所以自己做的APP中需要地圖功能最好不要導(dǎo)入百度地圖的SDK(使用上面三個(gè)中任何一個(gè)地圖獲取到的經(jīng)緯度都可以很容易的轉(zhuǎn)換成百度地圖需要的經(jīng)緯度),如果你是像我這樣中途接手的項(xiàng)目谍失,百度地圖的相應(yīng)功能已經(jīng)做好了眶俩,那你可以用下面的方式換算一下經(jīng)緯度(最下方)。
  2. 代碼如下 :需傳入起點(diǎn)和終點(diǎn)的經(jīng)緯度
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://map/"]]) {
        UIAlertAction *baiduMapAction = [UIAlertAction actionWithTitle:@"百度地圖" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSString *baiduParameterFormat = @"baidumap://map/direction?origin=latlng:%f,%f|name:我的位置&destination=latlng:%f,%f|name:終點(diǎn)&mode=driving";
            NSString *urlString = [[NSString stringWithFormat:
                                    baiduParameterFormat,
                                    userLocation.location.coordinate.latitude,
                                    userLocation.location.coordinate.longitude,
                                    self.destinationCoordinate.latitude,
                                    self.destinationCoordinate.longitude]
                                   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
        }];
        [actionSheet addAction:baiduMapAction];
    }
  1. 各個(gè)參數(shù)代表的含義可參考百度地圖官方文檔快鱼。

二颠印、高德地圖

  1. 只需傳入終點(diǎn)經(jīng)緯度 高德地圖能夠跳轉(zhuǎn)回你的APP,前提是backScheme=%@(你的APP的URL)要填寫(xiě)抹竹。代碼如下
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://map/"]]) {
        UIAlertAction *gaodeMapAction = [UIAlertAction actionWithTitle:@"高德地圖" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSString *gaodeParameterFormat = @"iosamap://navi?sourceApplication=%@&backScheme=%@&poiname=%@&lat=%f&lon=%f&dev=1&style=2";
            NSString *urlString = [[NSString stringWithFormat:
                                    gaodeParameterFormat,
                                    @"yourAppName",
                                    @"yourAppUrlSchema",
                                    @"終點(diǎn)",
                                    self.destinationCoordinate.latitude,
                                    self.destinationCoordinate.longitude]
                                   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
        }];
        [actionSheet addAction:gaodeMapAction];
    }
  1. 各個(gè)參數(shù)的含義可參考高德地圖官方文檔

三线罕、蘋(píng)果地圖

  1. 需傳入起點(diǎn)和終點(diǎn)的經(jīng)緯度,并導(dǎo)入頭文件#import MapKit/MKMapItem.h>
[actionSheet addAction:[UIAlertAction actionWithTitle:@"蘋(píng)果地圖" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        //起點(diǎn)
        MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
        CLLocationCoordinate2D desCorrdinate = CLLocationCoordinate2DMake(self.destinationCoordinate.latitude, self.destinationCoordinate.longitude);
        //終點(diǎn)
        MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:desCorrdinate addressDictionary:nil]];
        //默認(rèn)駕車(chē)
        [MKMapItem openMapsWithItems:@[currentLocation, toLocation]
                       launchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                                       MKLaunchOptionsMapTypeKey:[NSNumber numberWithInteger:MKMapTypeStandard],
                                       MKLaunchOptionsShowsTrafficKey:[NSNumber numberWithBool:YES]}];
    }]];
  1. 各個(gè)參數(shù)的含義可參考蘋(píng)果地圖官方文檔

四窃判、谷歌地圖

  1. 只需傳入終點(diǎn)的經(jīng)緯度
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://map/"]]) {
        [actionSheet addAction:[UIAlertAction actionWithTitle:@"蘋(píng)果地圖"style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSString *urlString = [[NSString stringWithFormat:@"comgooglemaps://?x-source=%@&x-success=%@&saddr=&daddr=%f,%f&directionsmode=driving",
                                    appName,
                                    urlScheme,
                                    coordinate.latitude,
                                    coordinate.longitude]
                                   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
        }]];
    }
  1. 各個(gè)參數(shù)的含義可參考谷歌地圖官方文檔

五钞楼、騰訊地圖

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://map/"]]) {        
        [actionSheet addAction:[UIAlertAction actionWithTitle:@"騰訊地圖" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSString *QQParameterFormat = @"qqmap://map/routeplan?type=drive&fromcoord=%f, %f&tocoord=%f,%f&coord_type=1&policy=0&refer=%@";
            NSString *urlString = [[NSString stringWithFormat:
                                    QQParameterFormat,
                                    userLocation.location.coordinate.latitude,
                                    userLocation.location.coordinate.longitude,
                                    self.destinationCoordinate.latitude,
                                    self.destinationCoordinate.longitude,
                                    @"yourAppName"]
                                   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
        }]];
    }

GCJ-02坐標(biāo)轉(zhuǎn)換成BD-09坐標(biāo) 和逆轉(zhuǎn)換

  • GCJ-02坐標(biāo)轉(zhuǎn)換為BD-09坐標(biāo)
/** *  將GCJ-02坐標(biāo)轉(zhuǎn)換為BD-09坐標(biāo) 即將高德地圖上獲取的坐標(biāo)轉(zhuǎn)換成百度坐標(biāo) */
- (CLLocationCoordinate2D)gcj02CoordianteToBD09:(CLLocationCoordinate2D)gdCoordinate
{
    double x_PI = M_PI * 3000.0 /180.0;
    
    double gd_lat = gdCoordinate.latitude;
    
    double gd_lon = gdCoordinate.longitude;
    
    double z = sqrt(gd_lat * gd_lat + gd_lon * gd_lon) + 0.00002 * sin(gd_lat * x_PI);
    
    double theta = atan2(gd_lat, gd_lon) + 0.000003 * cos(gd_lon * x_PI);
    
    return CLLocationCoordinate2DMake(z * sin(theta) + 0.006, z * cos(theta) + 0.0065);
}
  • BD-09坐標(biāo)轉(zhuǎn)換為GCJ-02坐標(biāo)
/** *  將BD-09坐標(biāo)轉(zhuǎn)換為GCJ-02坐標(biāo) 即將百度地圖上獲取的坐標(biāo)轉(zhuǎn)換成高德地圖的坐標(biāo) */
- (CLLocationCoordinate2D)bd09CoordinateToGCJ02:(CLLocationCoordinate2D)bdCoordinate
{
    double x_PI = M_PI * 3000.0 /180.0;
    
    double bd_lat = bdCoordinate.latitude - 0.006;
    
    double bd_lon = bdCoordinate.longitude - 0.0065;
    
    double z = sqrt(bd_lat * bd_lat + bd_lon * bd_lon) - 0.00002 * sin(bd_lat * x_PI);
    
    double theta = atan2(bd_lat, bd_lon) - 0.000003 * cos(bd_lon * x_PI);
    
    return CLLocationCoordinate2DMake(z * sin(theta), z * cos(theta));
}

地圖坐標(biāo)系轉(zhuǎn)換

#import <CoreLocation/CoreLocation.h>
/*
 從 CLLocationManager 取出來(lái)的經(jīng)緯度放到 mapView 上顯示,是錯(cuò)誤的!
 從 CLLocationManager 取出來(lái)的經(jīng)緯度去 Google Maps API 做逆地址解析袄琳,當(dāng)然是錯(cuò)的询件!
 從 MKMapView 取出來(lái)的經(jīng)緯度去 Google Maps API 做逆地址解析終于對(duì)了。去百度地圖API做逆地址解析唆樊,依舊是錯(cuò)的宛琅!
 從上面兩處取的經(jīng)緯度放到百度地圖上顯示都是錯(cuò)的!錯(cuò)的逗旁!的嘿辟!
 
 分為 地球坐標(biāo),火星坐標(biāo)(iOS mapView 高德 痢艺, 國(guó)內(nèi)google ,搜搜仓洼、阿里云 都是火星坐標(biāo)),百度坐標(biāo)(百度地圖數(shù)據(jù)主要都是四維圖新提供的)
 
 火星坐標(biāo): MKMapView
 地球坐標(biāo): CLLocationManager
 
 當(dāng)用到CLLocationManager 得到的數(shù)據(jù)轉(zhuǎn)化為火星坐標(biāo), MKMapView不用處理
 
 
 API                坐標(biāo)系
 百度地圖API         百度坐標(biāo)
 騰訊搜搜地圖API      火星坐標(biāo)
 搜狐搜狗地圖API      搜狗坐標(biāo)
 阿里云地圖API       火星坐標(biāo)
 圖吧MapBar地圖API   圖吧坐標(biāo)
 高德MapABC地圖API   火星坐標(biāo)
 靈圖51ditu地圖API   火星坐標(biāo)
 */
@interface CLLocation (Location)

//從地圖坐標(biāo)轉(zhuǎn)化到火星坐標(biāo)
- (CLLocation *)locationMarsFromEarth;

//從火星坐標(biāo)轉(zhuǎn)化到百度坐標(biāo)
- (CLLocation *)locationBaiduFromMars;

//從百度坐標(biāo)到火星坐標(biāo)
- (CLLocation *)locationMarsFromBaidu;

//從火星坐標(biāo)到地圖坐標(biāo)
- (CLLocation *)locationEarthFromMars;

//從百度坐標(biāo)到地圖坐標(biāo)
- (CLLocation *)locationEarthFromBaidu;

@end
#import "CLLocation+Location.h"

void transform_earth_from_mars(double lat, double lng, double* tarLat, double* tarLng);
void transform_mars_from_baidu(double lat, double lng, double* tarLat, double* tarLng);
void transform_baidu_from_mars(double lat, double lng, double* tarLat, double* tarLng);

@implementation CLLocation (Location)

- (CLLocation*)locationMarsFromEarth
{
    double lat = 0.0;
    double lng = 0.0;
    transform_earth_from_mars(self.coordinate.latitude, self.coordinate.longitude, &lat, &lng);
    return [[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat+self.coordinate.latitude, lng+self.coordinate.longitude)
                                         altitude:self.altitude
                               horizontalAccuracy:self.horizontalAccuracy
                                 verticalAccuracy:self.verticalAccuracy
                                           course:self.course
                                            speed:self.speed
                                        timestamp:self.timestamp];
}

- (CLLocation*)locationEarthFromMars
{
    double lat = 0.0;
    double lng = 0.0;
    transform_earth_from_mars(self.coordinate.latitude, self.coordinate.longitude, &lat, &lng);
    return [[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(self.coordinate.latitude-lat, self.coordinate.longitude-lng)
                                         altitude:self.altitude
                               horizontalAccuracy:self.horizontalAccuracy
                                 verticalAccuracy:self.verticalAccuracy
                                           course:self.course
                                            speed:self.speed
                                        timestamp:self.timestamp];
    return nil;
}

- (CLLocation*)locationBaiduFromMars
{
    double lat = 0.0;
    double lng = 0.0;
    transform_mars_from_baidu(self.coordinate.latitude, self.coordinate.longitude, &lat, &lng);
    return [[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat, lng)
                                         altitude:self.altitude
                               horizontalAccuracy:self.horizontalAccuracy
                                 verticalAccuracy:self.verticalAccuracy
                                           course:self.course
                                            speed:self.speed
                                        timestamp:self.timestamp];
}

- (CLLocation*)locationMarsFromBaidu
{
    double lat = 0.0;
    double lng = 0.0;
    transform_baidu_from_mars(self.coordinate.latitude, self.coordinate.longitude, &lat, &lng);
    return [[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat, lng)
                                         altitude:self.altitude
                               horizontalAccuracy:self.horizontalAccuracy
                                 verticalAccuracy:self.verticalAccuracy
                                           course:self.course
                                            speed:self.speed
                                        timestamp:self.timestamp];
}

-(CLLocation*)locationEarthFromBaidu
{
    double lat = 0.0;
    double lng = 0.0;
    CLLocation *Mars = [self locationMarsFromBaidu];
    
    transform_earth_from_mars(Mars.coordinate.latitude, Mars.coordinate.longitude, &lat, &lng);
    return [[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(Mars.coordinate.latitude-lat, Mars.coordinate.longitude-lng)
                                         altitude:self.altitude
                               horizontalAccuracy:self.horizontalAccuracy
                                 verticalAccuracy:self.verticalAccuracy
                                           course:self.course
                                            speed:self.speed
                                        timestamp:self.timestamp];
    return nil;
}

@end


// --- transform_earth_from_mars ---
// 參考來(lái)源:https://on4wp7.codeplex.com/SourceControl/changeset/view/21483#353936
// Krasovsky 1940
//
// a = 6378245.0, 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
const double a = 6378245.0;
const double ee = 0.00669342162296594323;

bool transform_sino_out_china(double lat, double lon)
{
    if (lon < 72.004 || lon > 137.8347)
        return true;
    if (lat < 0.8293 || lat > 55.8271)
        return true;
    return false;
}

double transform_earth_from_mars_lat(double x, double y)
{
    double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt(fabs(x));
    ret += (20.0 * sin(6.0 * x * M_PI) + 20.0 * sin(2.0 * x * M_PI)) * 2.0 / 3.0;
    ret += (20.0 * sin(y * M_PI) + 40.0 * sin(y / 3.0 * M_PI)) * 2.0 / 3.0;
    ret += (160.0 * sin(y / 12.0 * M_PI) + 320 * sin(y * M_PI / 30.0)) * 2.0 / 3.0;
    return ret;
}

double transform_earth_from_mars_lng(double x, double y)
{
    double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt(fabs(x));
    ret += (20.0 * sin(6.0 * x * M_PI) + 20.0 * sin(2.0 * x * M_PI)) * 2.0 / 3.0;
    ret += (20.0 * sin(x * M_PI) + 40.0 * sin(x / 3.0 * M_PI)) * 2.0 / 3.0;
    ret += (150.0 * sin(x / 12.0 * M_PI) + 300.0 * sin(x / 30.0 * M_PI)) * 2.0 / 3.0;
    return ret;
}

void transform_earth_from_mars(double lat, double lng, double* tarLat, double* tarLng)
{
    if (transform_sino_out_china(lat, lng))
    {
        *tarLat = lat;
        *tarLng = lng;
        return;
    }
    double dLat = transform_earth_from_mars_lat(lng - 105.0, lat - 35.0);
    double dLon = transform_earth_from_mars_lng(lng - 105.0, lat - 35.0);
    double radLat = lat / 180.0 * M_PI;
    double magic = sin(radLat);
    magic = 1 - ee * magic * magic;
    double sqrtMagic = sqrt(magic);
    dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * M_PI);
    dLon = (dLon * 180.0) / (a / sqrtMagic * cos(radLat) * M_PI);
    *tarLat = dLat;
    *tarLng = dLon;
}

// --- transform_earth_from_mars end ---
// --- transform_mars_vs_bear_paw ---
// 參考來(lái)源:http://blog.woodbunny.com/post-68.html
const double x_pi = M_PI * 3000.0 / 180.0;

void transform_mars_from_baidu(double gg_lat, double gg_lon, double *bd_lat, double *bd_lon)
{
    double x = gg_lon, y = gg_lat;
    double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);
    double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);
    *bd_lon = z * cos(theta) + 0.0065;
    *bd_lat = z * sin(theta) + 0.006;
}

void transform_baidu_from_mars(double bd_lat, double bd_lon, double *gg_lat, double *gg_lon)
{
    double x = bd_lon - 0.0065, y = bd_lat - 0.006;
    double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);
    double theta = atan2(y, x) - 0.000003 * cos(x * x_pi);
    *gg_lon = z * cos(theta);
    *gg_lat = z * sin(theta);
}
  • Tips:無(wú)論導(dǎo)入的是百度SDK還是高德SDK堤舒,他們內(nèi)部都封裝了將目標(biāo)經(jīng)緯度轉(zhuǎn)換為高德坐標(biāo)系或百度坐標(biāo)系(文檔上的接口可能被棄用沒(méi)有及時(shí)更新色建,是不是很坑爹),但是沒(méi)有將高德或百度坐標(biāo)轉(zhuǎn)換為別的坐標(biāo)系下的坐標(biāo)的接口舌缤。
  • 設(shè)置URL Scheme:http://blog.csdn.net/wm9028/article/details/49995329
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箕戳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子国撵,更是在濱河造成了極大的恐慌陵吸,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件介牙,死亡現(xiàn)場(chǎng)離奇詭異壮虫,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)囚似,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)剩拢,“玉大人,你說(shuō)我怎么就攤上這事饶唤⌒旆ィ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵募狂,是天一觀的道長(zhǎng)办素。 經(jīng)常有香客問(wèn)我,道長(zhǎng)祸穷,這世上最難降的妖魔是什么性穿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮粱哼,結(jié)果婚禮上季二,老公的妹妹穿的比我還像新娘。我一直安慰自己揭措,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布刻蚯。 她就那樣靜靜地躺著绊含,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炊汹。 梳的紋絲不亂的頭發(fā)上躬充,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音讨便,去河邊找鬼充甚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛霸褒,可吹牛的內(nèi)容都是我干的伴找。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼废菱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼技矮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起殊轴,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤衰倦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后旁理,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體樊零,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年孽文,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驻襟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夺艰。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖塑悼,靈堂內(nèi)的尸體忽然破棺而出劲适,到底是詐尸還是另有隱情,我是刑警寧澤厢蒜,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布霞势,位于F島的核電站,受9級(jí)特大地震影響斑鸦,放射性物質(zhì)發(fā)生泄漏愕贡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一巷屿、第九天 我趴在偏房一處隱蔽的房頂上張望固以。 院中可真熱鬧,春花似錦嘱巾、人聲如沸憨琳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)篙螟。三九已至,卻和暖如春问拘,著一層夾襖步出監(jiān)牢的瞬間陆淀,已是汗流浹背瀑罗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工陪毡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留油吭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓纽绍,卻偏偏與公主長(zhǎng)得像蕾久,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顶岸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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