如何在设备上集成导航器应用程序
How can I integrate a navigator app on a device
当我在 Movelet 中有一个地址并想通过 iOS、Android 和 Android 上的外部应用程序触发导航时,使用路线规划等导航功能的最佳方法是什么Windwos Phone?
要跳转到另一个应用程序,您需要 Movilizer AppJump 功能,使用它您可以打开一个连接(模块 SPI)并触发使用 exec 命令的执行。您或用户仍然需要做的是通过按下地图应用程序中的“开始”按钮手动启动导航。
对于 Android 客户端,您需要使用名为 geo 的协议。 Geo给你两个机会,你可以输入具体坐标,也可以输入地址。
具体坐标的使用如下所示:
'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 Client,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>
我还在 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)
{
}
对于 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
当我在 Movelet 中有一个地址并想通过 iOS、Android 和 Android 上的外部应用程序触发导航时,使用路线规划等导航功能的最佳方法是什么Windwos Phone?
要跳转到另一个应用程序,您需要 Movilizer AppJump 功能,使用它您可以打开一个连接(模块 SPI)并触发使用 exec 命令的执行。您或用户仍然需要做的是通过按下地图应用程序中的“开始”按钮手动启动导航。
对于 Android 客户端,您需要使用名为 geo 的协议。 Geo给你两个机会,你可以输入具体坐标,也可以输入地址。
具体坐标的使用如下所示:
'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 Client,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>
我还在 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)
{
}
对于 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