美文网首页
ionic3 跳转第三方地图并根据关键字搜索

ionic3 跳转第三方地图并根据关键字搜索

作者: EndOfJuly | 来源:发表于2019-08-23 13:41 被阅读0次

一、首先引入用到的3个插件

1.检查app是否存在:

$ ionic cordova plugin add cordova-plugin-appavailability
$ npm install --save @ionic-native/app-availability
import { AppAvailability } from '@ionic-native/app-availability';

2.判断iOS还是安卓:

import { Platform } from 'ionic-angular';

3.跳转第三方app:

$ ionic cordova plugin add https://github.com/lampaa/com.lampa.startapp.git
declare let startApp: any;

二、实现过程

1.先判断是iOS平台还是安卓平台:

this.platform.is('ios');
this.platform.is('android');

2.如果是iOS平台,检查是否安装了第三方app,如果安装就通过urlsheme打开:

this.appAvailability.check(checkUrl)
    .then(
        (yes: boolean) => {
            var sApp = startApp.set(urlSheme);
            sApp.start(function () {
                console.log("sApp.start succeed");
                }, function (error) {
                    alert("error---" + error);
            });
        },
        (no: boolean) => {
            alert("没有在本机检测到百度地图");
        });

checkUrl:
百度--baidumap://
高德--iosamap://

urlSheme:
百度--baidumap: //map/geocoder?address=xxx
高德--iosamap: //poi?sourceApplication=applicationName&name=xxx

注意:xxx如果为中文需要进行转码encodeURI(xxx),否则跳转app方法会进error。

如果是安卓平台:

this.appAvailability.check(pkg)
    .then(
        (yes: boolean) => {
            var sApp = startApp.set({
                "action": "ACTION_VIEW",
                "category": "CATEGORY_DEFAULT",
                "type": "text/css",
                "package": pkg,
                "uri": urlSheme,
                "flags": ["FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_CLEAR_TASK"],
                "intentstart": "startActivity",
            }, {
                "EXTRA_STREAM": "extraValue1",
                "extraKey2": "extraValue2"
            });
            sApp.start(function () {
                console.log("sApp.start succeed");
                }, function (error) {
                    alert("error---" + error);
            });
        },
        (no: boolean) => {
            alert("没有在本机检测到百度地图");
        });

pkg:
百度--com.baidu.BaiduMap
高德--com.autonavi.minimap

urlSheme:
百度-- baidumap: //map/geocoder?address=xxx
高德-- androidamap: //poi?sourceApplication=applicationName&keywords=xxx

xxx如果为中文依旧需要encodeURI(xxx)转码。

相关文章

网友评论

      本文标题:ionic3 跳转第三方地图并根据关键字搜索

      本文链接:https://www.haomeiwen.com/subject/ndozsctx.html