动漫在线高清在线完整版免费观看,欧美天天澡天天爽日日a,亚洲午夜无码久久久久,女人被躁到高潮嗷嗷叫在线视频,精品国产精品久久一区免费式

怎樣實現App和(he)h5跳轉(zhuan)百度、高(gao)德和(he)騰訊地圖定(ding)位導航(hang)?

開發app時候,地(di)圖(tu)跳轉是很常(chang)見的(de)一(yi)個功(gong)能(neng),告訴你(ni)經緯度就可(ke)以(yi)實現(xian)(xian)(xian)喚(huan)醒百(bai)度、高德(de)、騰訊地(di)圖(tu)進行地(di)圖(tu)導航(hang),在加上關(guan)鍵字就可(ke)以(yi)實現(xian)(xian)(xian)周邊功(gong)能(neng)的(de)實現(xian)(xian)(xian),前臺需要(yao)動態判斷手(shou)機(ji)上安裝了哪些地(di)圖(tu)軟件(jian),若(ruo)有(you)則顯示(shi)出來,沒(mei)有(you)則不顯示(shi),若(ruo)用戶(hu)手(shou)機(ji)上沒(mei)有(you)安裝任何導航(hang)軟件(jian)app,則需要(yao)引導用戶(hu)去下載一(yi)款地(di)圖(tu)app軟件(jian)。

由(you)(you)于我這(zhe)是h5開發環境,所以界面由(you)(you)h5處理,只(zhi)提供后(hou)臺的兩個接(jie)口,一(yi)個接(jie)口是判斷(duan)用戶手機上安裝了哪些導航軟件,一(yi)個接(jie)口是進行地(di)圖導航和周邊功能的實(shi)現。然(ran)后(hou)js調android即可(ke)實(shi)現。

一、api地址

先放上百度、高(gao)德(de)、騰(teng)訊地圖(tu)調起API文檔地址,有些參數(shu)不(bu)懂可以(yi)參考。

1、百度地圖

2、高德地圖

3、騰訊地圖

二、android后臺接口提供給前臺h5調用如下:

    /**
     * 選擇地圖
     * @param lat 緯度
     * @param lon 經度
     * @param poiname 地址
     * @param type 1表示高德  2表示百度  3表示騰訊
     * @param selectType 1表示導航類型, 2表示周邊類型
     * @param keyWords 關鍵字
     * @param poiname
     */
    @JavascriptInterface
    public void makeUpMap (String lat,String lon,String poiname,int type,int selectType,String keyWords) {
        Intent intent = new Intent();
        if (mapBean.getGaoDei() == null && mapBean.getTenXun() == null && mapBean.getBaiDu() == null) {
            goToMarket(mContext, "com.autonavi.minimap");
            mContext.startActivity(intent);
        }
        //高德地圖
        if (mapBean.getGaoDei() == "1" && type == 1) {
            if (selectType == 1) {
                intent.setData(Uri.parse("androidamap://viewMap?sourceApplication=appname&poiname=" + poiname + "&lat=" + lat +"&lon="+ lon +"&dev=0"));
            } else if (selectType == 2) {
                intent.setData(Uri.parse("androidamap://arroundpoi?sourceApplication=softname&keywords="+ keyWords +"&lat=" + lat + "&lon="+ lon + "&dev=0"));
            }
        }
        //百度地圖
        if (mapBean.getBaiDu() == "2" && type == 2) {
            if (selectType == 1) {
                intent.setData(Uri.parse("baidumap://map/marker?location=" + lat + ","+  lon + "&title=" + poiname + "&content="+ "" +"&traffic=on"));
            } else if (selectType == 2) {
                intent.setData(Uri.parse("baidumap://map/place/nearby?query="+ keyWords +"¢er=" + lat + "," + lon + ""));
            }
        }
        //騰訊地圖
        if (mapBean.getTenXun() == "3" && type == 3) {
            if (selectType == 1) {
                intent.setData(Uri.parse("//apis.map.qq.com/uri/v1/marker?marker=coord:"+ lat + "," + lon + ";" + "title:" + poiname + ";addr:" + " " + "&referer=myapp"));
            } else if (selectType == 2) {
                intent.setData(Uri.parse("//apis.map.qq.com/uri/v1/search?keyword="+ keyWords +"¢er="+ lat + "," + lon +"&radius=5000&referer=myapp"));
            }
        }
        mContext.startActivity(intent);
    }
    /**
     * 判斷手機地圖是否安裝  高德地圖:com.autonavi.minimap 百度地圖:com.baidu.BaiduMap 騰訊地圖
     *
     * @return
     */
    @JavascriptInterface
    public String isInstallByread() {
        mapBean = new MapBean();
        //高德地圖
        if(new File("/data/data/" + "com.autonavi.minimap").exists()) {
            mapBean.setGaoDei("1");
        }
        //百度地圖
        if (new File("/data/data/" + "com.baidu.BaiduMap").exists()) {
            mapBean.setBaiDu("2");
        }
        //騰訊地圖
        if (new File("/data/data/" + "com.tencent.map").exists()) {
            mapBean.setTenXun("3");
        }
        //google地圖
//        if (new File("/data/data/" + "com.google.android.apps.maps").exists()) {
//            mapBean.setGoogleMap("4");
//        }
        return new Gson().toJson(mapBean);
    }
 
 
    /**
     * 去市場下載頁面
     */
    public void goToMarket(Context context, String packageName) {
        Uri uri = Uri.parse("market://details?id=" + packageName);
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        try {
            context.startActivity(goToMarket);
        } catch (ActivityNotFoundException e) {
    }

所使用到的(de)實(shi)體類是:


/**
 * Created by zhaoyihuan on 2018/3/8.
 */
 
public class MapBean {
    String baiDu;
    String gaoDei;
    String tenXun;
 
    public String getTenXun() {
        return tenXun;
    }
 
    public void setTenXun(String tenXun) {
        this.tenXun = tenXun;
    }
 
    public String getBaiDu() {
        return baiDu;
    }
 
    public void setBaiDu(String baiDu) {
        this.baiDu = baiDu;
    }
 
    public String getGaoDei() {
        return gaoDei;
    }
 
    public void setGaoDei(String gaoDei) {
        this.gaoDei = gaoDei;
    }

調(diao)用(yong)(yong)肯定是用(yong)(yong)webview來調(diao)用(yong)(yong),那后臺接(jie)口就(jiu)到此結束了。

回到稻殼網首頁
稻殼客服

掃一掃,微信咨詢

請留下需求和聯系方式,我們即刻為您準備方案
需求提交成功

提交成功

免費服務熱線021-61676039(工作日9:00 ~ 18:00)
×
稻殼客服

掃一掃,微信咨詢