[Titanium] iOSとAndroidで地図アプリ(Google Maps)を起動

map-app_from_titaniumアプリ内の地図と地図アプリを連携すると便利なので、パラメータを渡して起動する方法を調査。

環境: Titanium SDK 3.1.1.GA

参考にしたのは下記。

 

実際書いたコードを下記に抜粋。

iOSの場合はグーグルマップアプリがインストールしてあれば、そちらを優先して開く。
Androidの場合はおなじみのアプリを選択する。

緯度と経度をクエリとして渡した方がピンが立つので分かりやすい。

if (this.isAndroid) {
    // Google Map
    url = [];
    url.push('http://maps.google.com/maps');
    //url.push('?ll=' + this.region.latitude + ',' + this.region.longitude);
    url.push('?q=' + this.region.latitude + ',' + this.region.longitude);
    url.push('&z=16');
    Titanium.Platform.openURL(url.join(''));
    return true;
}

if (this.isIos) {
    // Google Map of Native App
    url = [];
    url.push('comgooglemaps://');
    //url.push('?center=' + this.region.latitude + ',' + this.region.longitude);
    url.push('?q=' + this.region.latitude + ',' + this.region.longitude);
    url.push('&zoom=16');
    if (Titanium.Platform.canOpenURL(url.join(''))) {
        Titanium.Platform.openURL(url.join(''));
        return true;
    }

    // Native App
    url = [];
    url.push('http://maps.apple.com/');
    //url.push('?ll=' + this.region.latitude + ',' + this.region.longitude);
    url.push('?q=' + this.region.latitude + ',' + this.region.longitude);
    url.push('&z=16');
    Titanium.Platform.openURL(url.join(''));
    return true;
}

 

< Related Posts >