2014年9月1日 星期一

顯示地圖與導航intent用法

顯示地圖現成的Intent用法程式碼如下:
Uri uri = Uri.parse("geo:緯度,經度");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
顯示導航現成的Intent用法程式碼如下:
Uri uri = Uri.parse("
http://maps.google.com/maps?f=d&saddr=起點位置&daddr=終點位置&hl=tw");
路徑格式:
f=d&saddr=起點位置&daddr=終點位置
&hl=tw
起點位置格式
:Latitude,Longitude
終點位置格式
:Latitude,Longitude
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
備註:記得要加入internet的使用權限





String vDirectionUrl = "https://maps.google.com/maps?f=d"
                     + "&saddr=" + 來源Latitude + "," + 來源Longitude
                     + "&daddr=" + 目的Latitude + "," + 目的Longitude
                     + "&hl=tw";

// 在 Google 地圖 App 顯示導航
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse(vDirectionUrl) );
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);




Android

String strURL = "http://maps.google.com/maps?f=d&saddr=&daddr=&hl=;
/* 
   f=d:使用Google Map 導航功能
   saddr:傳入 開始位置(預設為目前位置)
   daddr:傳入 目的位置
   hl:指定語系 (Locale.getDefault().getCountry())
*/
Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_VIEW); 
intent.setData 
( 
    Uri.parse(strURL )
); 
startActivity(intent); 
iOS

    MKUserLocation *userLoc = self.myMapView.userLocation;
    NSString *destlatlong = [NSString stringWithFormat:@"%f,%f",
                             userLoc.location.coordinate.latitude,
                             userLoc.location.coordinate.longitude];
         
    NSString *url = [NSString stringWithFormat: @"http://maps.google.com/maps?f=d&saddr=%@&daddr=%@&z=12",
                     destlatlong,[strLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

沒有留言:

張貼留言