まず仕組みを理解することから、始めましょう。
ブラウザから、他のアプリを起動する場合、モバイルデバイスは、URLスキームというものを使用して、
他のアプリを起動します。
例えば、urlに、message://
と入れると、デフォルトに設定しているメーラーが起動できるかと思います。
そうやって、URLにアクセスさせることによって、他のアプリを起動するものを、
URLスキームと呼びます。
ただし、下記のぐるなびなどのグルメサイトの地図アプリで開く、などには、通常のマップへのURLが記載されているかと思います。
(ぐるなびの場合は、onclickによって、URLにアクセスしてますが)
完全個室居酒屋 TOTORIKO ~ととりこ~ 新宿東口店 地図・アクセス - ぐるなび
地図アプリで見るでアクセスさせているページは下記になります。
http://maps.google.com/maps?q=35.694493%2C139.701975%28%22完全個室居酒屋TOTORIKO ~ととりこ~ 新宿東口
Google Mapアプリが入っている端末でアクセスすると、Google Mapが起動したかと思います。
これは、Google Mapが、上記のようなURL形式でアクセスを受けた時に、
まずは、Google MapのURLスキームにアクセスさせ、その際、アプリがない、(ようはアクティブアプリが切り替わらない)場合は、時間経過で、通常のGoogle Mapの地図ページを表示させているのでしょう。
なぜ上記のような仕様かは、HTMLからは、どのアプリが入っているかなどは判別できないからです。
しかし、アプリが入っているのに、起動しないのはなぜかというと、
iOSにおいては、純正のSafariだからこそ、URLスキームとして判別が正常にされるから、
Chromeでは正常に処理されない、が原因かと思います。
Androidは、Chromeがデフォルトブラウザなため、URLスキームが正常に処理されるかと思います。
さて、Android、iOSでも両方、地図アプリを起動する方法ですが、これは最悪、JavaScriptによって、OSやブラウザ別にURLを切り替える必要があるでしょう。
iOSであるかつ、Safariならば、このURL、Androidでかつ、ChromeならこのURL、と。
(おそらくですが、ぐるなびのマップへのリンクが、hrefに書いてないのは、上記の処理分岐をさせるためかと思います)
JavaScriptの処理どうすれば?というのは、本件から外れてしまうので、以上といたします。
ご自身でまずは調べましょう。