1

Movelet に住所があり、iOS、Android、Windwos Phone の外部アプリを介してナビゲーションをトリガーしたい場合に、ルート計画などのナビゲーション機能を利用する最善の方法は何ですか?

4

3 に答える 3

3

別のアプリにジャンプするには、Movilizer AppJump 機能が必要です。これにより、接続 (モジュール SPI) を開き、exec コマンドを使用して実行をトリガーできます。あなたまたはユーザーがまだしなければならないことは、マップ アプリの [開始] ボタンを押して手動でナビゲーションを開始することです。

Android クライアントの場合、geo という名前のプロトコルを使用する必要があります。Geo には 2 つの機会があり、特定の座標を入力するか、住所を入力することができます。

特定の座標の使用は次のようになります。

'geo:49.483611111111,8.463055555555697?z=18'

座標がわからない場合は、次も使用できます。

'geo:0,0?q=Wilhelm-Varnholt-Allee 1, 68165 Mannheim?z=18'

コードでは次のようになります。

if(platform == 11)
{
    intentURL = conCat('geo:0,0?q=', destPoint,'?z=18'); 
    conStr = conCat('exec:', intentURL);
}

iOS クライアントの場合、URL スキームは非常に似ていますが、geo を使用する代わりに、開きたいアプリを指すために使用する必要があります。

'exec:maps://?q=Wilhelm-Varnholt-Allee 1, 68165 Mannheim?z=18'

maps:// を使用すると、Apple マップ アプリが開きます。Google マップが必要な場合は、comgooglemaps:// を使用する必要があります。

あなたが抱えている問題を解決するのに役立つかもしれない小さな例を用意しました:

<question key="#1" type="6" title="Address">
<answer key="#1_0" nextQuestionKey="END" dummyAnswer="true"/>
<onEnterAssignment>

addresses = 
{
    'Diakoniekrankenhaus Mannheim' : 'Speyerer Str. 91, 68163 Mannheim';
    'Moll-Gymnasium' : 'Feldbergstraße 16, 68163 Mannheim';
    'Planetarium Mannheim' : 'Wilhelm-Varnholt-Allee 1, 68165 Mannheim';
    'Karl Benz Stadion' : 'Theodor-Heuss-Anlage 20, 68165 Mannheim';
    'Luisenpark' : 'Theodor-Heuss-Anlage 2, 68165 Mannheim';
    'Mannheim City Airport':'Seckenheimer Landstr.172, 68163 Mannheim';
};

for(dest:addresses)
{
    addAnswer($answer:'#1_0', dest, dest);
}

platform = getClientType();
</onEnterAssignment>  
<onLeaveOkPersistAssignment>
destPoint = addresses[getQuestionValue()];
if(platform == 11)
{
    intentURL = conCat('geo:0,0?q=', destPoint,'?z=18'); 
    conStr = conCat('exec:', intentURL);
}
else
{
    conStr = conCat('exec:maps://?q=', destPoint, '?z=18');

}

conID = connect(conStr, null);

if(isConnectionOpen(conID))
{
    close(conID);
}
</onLeaveOkPersistAssignment>

于 2015-05-26T09:33:10.747 に答える
1

Androidで別の方法も見つけました:

addressTxt = "Wenceslas Square, Prague, CZ";
connStr    = concat("exec://", "%com.google.android.apps.maps%", "http://maps.google.com/maps?daddr=", addressTxt);
connection = connect(connStr, "name");
try
{
    close(connection);
}
catch (exception)
{
}

YouTube での結果

于 2015-08-02T11:04:48.853 に答える
1

Android でのナビゲーションについては、次の方法でうまくいきました。

intentURL = '%com.google.android.apps.maps%google.navigation:q=Address';
conID = connect(concat('exec:', intentURL), "name");
if (conID ?ge 0) 
{
     close(conID);
}

Address could be: RMZ Eco World Rd, Adarsh Palm Retreat Villas, Bellandur, Bengaluru, Karnataka 560103, India 
于 2016-06-21T06:04:22.240 に答える