有没有办法在地图上添加自定义POI?

时间:2016-02-23 18:37:19

标签: here-api

我的数据库中有很多POI,包括location属性。如何根据我在地图上的位置添加这些POI?我发现HERE SDK有类似'按类别探索热门地点'的API,但这些类别是由HERE预定义的。我不认为我可以将我的POI添加到此处并通过这些API进行搜索。

我知道通过在Map上添加群集标记的解决方案。但如果每次都在我的数据库中检索POI,那将是困难和昂贵的。比如查找圆形区域内的所有POI(半径为10英里)。您是否有更好的解决方案在HERE地图上添加自定义POI?

由于

2 个答案:

答案 0 :(得分:1)

您可能正在寻找Custom Location Extension

答案 1 :(得分:1)

您可以使用HERE maps添加自定义图片(标记)和自定义图片,以下是代码:

初始化地图onButtonClick后,

{
  "index": {
    "fields": [

        "sortdate","coordinates"
            ]
      },
    "type": "json"
}

然后添加此方法:

SearchRequest searchRequest = new SearchRequest("Water");
searchRequest.execute(discoveryResultPageListener);

之后添加自定义标记的方法

private ResultListener<DiscoveryResultPage> discoveryResultPageListener = new ResultListener<DiscoveryResultPage>() {
    @Override
    public void onCompleted(DiscoveryResultPage discoveryResultPage, ErrorCode errorCode) {

        if (errorCode == ErrorCode.NONE) {

            List<DiscoveryResult> s_ResultList = discoveryResultPage.getItems();
            for (DiscoveryResult item : s_ResultList) {
                /*
                 * Add a marker for each result of PlaceLink type.For best usability, map can be
                 * also adjusted to display all markers.This can be done by merging the bounding
                 * box of each result and then zoom the map to the merged one.
                 */
                if (item.getResultType() == DiscoveryResult.ResultType.PLACE) {
                    PlaceLink placeLink = (PlaceLink) item;
                    addMarkerAtPlace(placeLink);
                    Log.e("nameeee   ",""+placeLink.getTitle());
                }
            }
        } else {
            Toast.makeText(m_activity,
                    "ERROR:Discovery search request returned return error code+ " + errorCode,
                    Toast.LENGTH_SHORT).show();
        }
    }
};