如何使用SearchRequest类在此处Android Starter SDK中使用搜索位置

时间:2018-08-24 09:40:47

标签: android kotlin sdk here-api

我们将在Here Map Android Starter SDK上实现搜索位置功能,但是使用SearchRequest方法在搜索位置上遇到问题,出现错误,如#BAD_REQUEST,

SearchRequest searchRequest = new SearchRequest("shopping");
searchRequest.setSearchCenter(m_map.getCenter());
searchRequest.setSearchArea(new GeoCoordinate(18.467518, 73.777694), 5000);
searchRequest.execute(discoveryResultPageListener);

获取结果为

     private ResultListener<DiscoveryResultPage> discoveryResultPageListener = new ResultListener<DiscoveryResultPage>() {
    @Override
    public void onCompleted(DiscoveryResultPage discoveryResultPage, ErrorCode errorCode) {
        if (errorCode == ErrorCode.NONE) {
            /* No error returned,let's handle the results */
            m_placeDetailButton.setVisibility(View.VISIBLE);
            s_ResultList = discoveryResultPage.getItems();
            for (DiscoveryResult item : s_ResultList) {
                if (item.getResultType() == DiscoveryResult.ResultType.PLACE) {
                    PlaceLink placeLink = (PlaceLink) item;
                    addMarkerAtPlace(placeLink);
                }
            }
        } else {
            Toast.makeText(m_activity,
                    "ERROR:Discovery search request returned return error code+ " + errorCode,
                    Toast.LENGTH_SHORT).show();
        }
    }
};

我们也已在高级版本上实现了Heres Maps Android SDK API,因为Search Places运行良好。但在高级版中,Android APK大小已超过65MB。

因此,我们如何在Starter SDK中使用搜索位置。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

使用setSearchCentersetSearchArea指定搜索位置,如果同时使用它们,则会出现BAD_REQUEST错误。

Premium SDK包括用于armeabi-v7aarm64-v8a体系结构的本机库。如果您想缩小最终应用的大小,可以split ABIs并生成多个apk。