German Webview Link zu Googlenavi APP

Loibl Johann

Member
Licensed User
Wenn ich in der Webseite vom Browser den Link mit einer Verknüpfung zb der Zielstrasse anklicke dann öffnet sich die App von Googl Maps und man braucht nur bestätigen das man die Route fahren möchte.

Wenn ich das selbe in der Webapp mache kommt die Browser Goggle Map.
Wie/Was müsste ich da ändern damit auch die GoggleNaviApp sich öffnet
 

eurojam

Well-Known Member
Licensed User
Longtime User
Hallo,
Du kannst mit dem OverrideUrl Event das abfangen, etwas in der Art:
B4X:
Sub myWebView_OverrideUrl (Url As String) As Boolean
    If Url.Contains("www.google.de/maps") Then
       'jetzt google streetview starten oder etwas anderes...
        Dim Intent1 As Intent
        Dim Uri As String
        Uri="google.streetview:cbll="&ALatitude&","&ALongitude
        Intent1.Initialize(Intent1.ACTION_VIEW, Uri)
        StartActivity(Intent1)
    End If
End Sub

gruß
stefan
 

Loibl Johann

Member
Licensed User
Danke
Ich habe das ausprobiert die sub wird nicht abgearbeitet
Im Browser ist der link
<a href='https://maps.google.at/maps?q=Bahnstrasse2,7200,Eisenstadt'>Navigation</a>
wenn ich da rauf klicke startet die Navi App ganz normal

Das ist mein Code
B4X:
Sub Globals
    Dim WebView1 As WebView
    Dim WebViewSettings1 As WebViewSettings
End Sub

Sub Activity_Create(FirstTime As Boolean)
    WebView1.Initialize("")
    Activity.AddView(WebView1, 0, 0, -1, -1)
    
    WebViewSettings1.setSavePassword(WebView1, True)
    
    WebView1.LoadUrl("http://192.168.1.13/xxxx.eu/index.php")
    
    Log(WebViewSettings1.getSavePassword(WebView1))
End Sub

Sub WebView1_OverrideUrl (Url As String) As Boolean
    If Url.Contains("maps.google.at") Then
        'jetzt google streetview starten oder etwas anderes...
        Dim Intent1 As Intent
        Dim Uri As String
        Uri="google.streetview:cbll="&48.204428&","&15.619481
        Intent1.Initialize(Intent1.ACTION_VIEW, Uri)
        StartActivity(Intent1)
    End If
End Sub

Die Webseite wird im Webview schön angezeigt und füktioniert auch bis auf den Auftruf das die Naviapp starten sollte nicht in der WebView APP
 

eurojam

Well-Known Member
Licensed User
Longtime User
Du musst den Webview richtig initialisieren, damit der event ausgelöst wird:
B4X:
Sub Activity_Create(FirstTime As Boolean)
    WebView1.Initialize("WebView1") '<- das ist der eventname!!
    Activity.AddView(WebView1, 0, 0, -1, -1)
    
    WebViewSettings1.setSavePassword(WebView1, True)
    
    WebView1.LoadUrl("http://192.168.1.13/xxxx.eu/index.php")
    
    Log(WebViewSettings1.getSavePassword(WebView1))
End Sub
 

Loibl Johann

Member
Licensed User
Der Hinweis mit dem Eventnamen hat funktioniert jetzt startet zwar die App mit einigen Modifikationen jedoch wenn man die Navi App verlässt oder schließt
und wieder zürück geht dann startet die in der b4A App die WebGoogle maps.
Ich habe auch schon versucht nach der StartActivity (Intent1) der Uri bzw der Url einen leestring zu zuweisen auch das geht nicht die WebGoggle map startet immer noch

B4X:
Sub WebView1_OverrideUrl (Url As String) As Boolean
    If Url.Contains("maps.google.at") Then
        Dim Intent1 As Intent
        Dim Uri As String
        Uri=Url
        Intent1.Initialize(Intent1.ACTION_VIEW, Uri)
        StartActivity(Intent1)
    End If
End Sub
Danke für deine Hilfe
 
Top