可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
On the iPhone, a maps.google.com URL is intercepted and loaded by the native google maps application. I would like do the same on Android, but Google Maps is being loaded in the browser.
So, in a web page, is it possible to have this url http://maps.google.com/maps?saddr=brighton&daddr=timbuktu open in the Android Google Map application ?
I see from this question that you can do it from another app via an Intent. Can you trigger these Intent's from the browser ?
Edit - On further testing, I've found that the user will be prompted to open the link in browser or map app for standard html links to maps.google.maps :
<a href="http://maps.google.com/maps?saddr=brighton&daddr=timbuktu">show route</a>
I'm having the problem because I'm using javascript to set the window.location.href via a Location API callback (so I can get the user's location and then open the map). I've opened a bug report for this.
回答1:
Typing geo:0,0?q=google into the address bar opens the maps activity and searches for google nearby.
I assume this will work from a link in a page, but haven't checked.
a full list of accessible intents here:
http://developer.android.com/guide/appendix/g-app-intents.html
回答2:
At this moment I use a javascript function that change the following templates:
'urlTemplates': {
"default": "http://maps.google.com?q={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"ios": "maps:?saddr=Current Location&daddr={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"android": "geo:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"windows_phone7": "maps:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"windows_phone8": "bingmaps:?where={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"blackberry": "javascript:blackberry.launch.newMap({'address':{'address1':'{streetAddress}','city':'{addressLocality}','country':'{addressCountry}','stateProvince':'{addressRegion}','zipPostal':'{postalCode}'}});"
with what informations I got depending on the device, I do not remember from where I got all the templates and I am sorry for that, and after that I open the the address using window.location.href.
Hope this will help you. Because at the time I need this I spent a lot of time researching it.
回答3:
<html>
<body>
<H1>
<a href="geo:42,2?z=8">Click here for maps</a>
</h1>
<BR><BR>
<a href="geo:53,-9?saddr=(53,-9)&daddr=(42,4)">Click here for route maps</a>
</body>
</html>
The first click correctly loads the Google App on Android and zooms. In the second click I an trying to replicate a two point route (start address->destination address) and it doesn't seem to work.
回答4:
I really suffered a lot from this but finally got answer .
Don't use href , it will not work .
For Navigation -
window.open("google.navigation:q=23.3728831,85.3372199&mode=d" , '_system');
For Search -
window.open("geo:0,0?q=pizza" , '_system');
Read Here - https://developers.google.com/maps/documentation/android/intents
回答5:
Try this PHPcode
echo "<a href='geo:".$lat.",".$lng."?q=".$lat.",".$lng."(".$NameLocationLabel.")'>Open map Native</a>";
Its works for me in phonegap,android and IOS ^^