.NET MAUI запустить карты Google с адресом ⇐ C#

Место общения программистов C#
Anonymous
.NET MAUI запустить карты Google с адресом

Сообщение Anonymous »

Я работаю с приложением для отправки техников на местах и ​​даю им указания о том, как добраться до адреса. В качестве версии одной из этой функции я, хотя мы могли бы открыть карты Google (или приложение карт по умолчанию) и передать адрес. Пока это не кажется возможным (см. Удар). Я попробовал это развернуто на моем Google Pixel 7 XL Pro и все три попытки глубоких связей терпят неудачу. < /P>
try
{
string encoded = WebUtility.UrlEncode("1600 Amphitheatre Parkway, Mountain View, CA 94043, USA");

var googleMapsUri = new Uri($"comgooglemaps://?q={encoded}");
bool canOpenGoogleMaps = await Launcher.CanOpenAsync(googleMapsUri);
await ShowAlertAsync("Info", $"Can open Google Maps app: {canOpenGoogleMaps}", "OK");

if (canOpenGoogleMaps)
{
bool result = await Launcher.TryOpenAsync(googleMapsUri);
await ShowAlertAsync("Info", $"Google Maps app result: {result}", "OK");
if (result)
{
return; // Success
}
}
else
{
await ShowAlertAsync("Error", "Google Maps app not installed or cannot handle comgooglemaps:// URI.", "OK");
}

// Fallback to geo: URI
var geoUri = new Uri($"geo:0,0?q={encoded}");
bool geoResult = await Launcher.TryOpenAsync(geoUri);
await ShowAlertAsync("Info", $"Geo URI result: {geoResult}", "OK");

if (!geoResult)
{
// Fallback to web-based Google Maps
var webUri = new Uri($"https://www.google.com/maps/search/?api ... y={encoded}");
bool webResult = await Launcher.TryOpenAsync(webUri);
await ShowAlertAsync("Info", $"Web URI result: {webResult}", "OK");

if (!webResult)
{
await ShowAlertAsync("Error", "Unable to open maps. No compatible app or browser installed.", "OK");
}
}
}
catch (Exception ex)
{
await ShowAlertAsync("Error", $"Failed to open maps: {ex.Message}", "OK");
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... th-address

Вернуться в «C#»