Android高德之旅(18)短串分享

废话

短串分享看似不起眼,实则很常用,我们经常分享位置给小伙伴用的就是短串分享。我们分享一个位置给小伙伴不可能把经纬度发过去,一来不直观,二来可能写的很长,三来显得太low,四来直接明文经纬度在有些场景下可能会有问题。所以高德把一个位置转换成几个字符表示的短串,既方便分享,又可以在多平台通用,实在很棒。

简介

短串分享分为四种:

  • 位置分享
  • 路径分享
  • POI分享
  • 导航分享

(1)位置分享

public void locationShare() {
    ShareSearch shareSearch = new ShareSearch(this.getApplicationContext());
    shareSearch.setOnShareSearchListener(this);
    LatLonSharePoint point = new LatLonSharePoint(POI_POINT.getLatitude(),
            POI_POINT.getLongitude(), "方恒国际中心A座");
    shareSearch.searchLocationShareUrlAsyn(point);
}

回调接口是ShareSearch.OnShareSearchListener

shareSearch.setOnShareSearchListener(new ShareSearch.OnShareSearchListener() {
    @Override
    public void onPoiShareUrlSearched(String url, int errorCode) {
        
    }

    @Override
    public void onLocationShareUrlSearched(String url, int errorCode) {

    }

    @Override
    public void onNaviShareUrlSearched(String url, int errorCode) {

    }

    @Override
    public void onBusRouteShareUrlSearched(String url, int errorCode) {

    }

    @Override
    public void onWalkRouteShareUrlSearched(String url, int errorCode) {

    }

    @Override
    public void onDrivingRouteShareUrlSearched(String url, int errorCode) {

    }
});

我们打印下回调结果

http://f.amap.com/4cpb_07AMnu

http://f.amap.com/4cpb_07AMnu就是最终要的短串,我们可以把这个短串发给别人,别人可以在手机app里打开,也可以在浏览器里打开。

(2)路径分享

public void locationShare() {
    ShareSearch shareSearch = new ShareSearch(this.getApplicationContext());
    shareSearch.setOnShareSearchListener(this);
    ShareSearch.ShareFromAndTo fromAndTo = new ShareSearch.ShareFromAndTo(START, END);
    ShareSearch.ShareDrivingRouteQuery query = new ShareSearch.ShareDrivingRouteQuery(fromAndTo,
            ShareSearch.DrivingDefault);
    shareSearch.searchDrivingRouteShareUrlAsyn(query);
}

返回结果

http://f.amap.com/4cpb_0BDMcE

(3)POI分享

public void locationShare() {
    ShareSearch shareSearch = new ShareSearch(this.getApplicationContext());
    shareSearch.setOnShareSearchListener(this);
    PoiItem item = new PoiItem(null, POI_POINT, "高德软件有限公司", "");
    shareSearch.searchPoiShareUrlAsyn(item);
}

返回结果

http://f.amap.com/6aPJO_05E3Mc1

(4)导航分享

public void locationShare() {
    ShareSearch shareSearch = new ShareSearch(this.getApplicationContext());
    shareSearch.setOnShareSearchListener(this);
    ShareSearch.ShareFromAndTo fromAndTo = new ShareSearch.ShareFromAndTo(START, END);
    ShareSearch.ShareNaviQuery query = new ShareSearch.ShareNaviQuery(fromAndTo,
            ShareSearch.NaviDefault);
    shareSearch.searchNaviShareUrlAsyn(query);
}

返回结果

http://f.amap.com/4cpb_057NFq

总结

细不细灰常方便!好吧,短串分享就讲这么多吧,本期节目就到这里,感谢大家收看,我们下期再见~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容