我的数据库中有很多POI,包括location属性。如何根据我在地图上的位置添加这些POI?我发现HERE SDK有类似'按类别探索热门地点'的API,但这些类别是由HERE预定义的。我不认为我可以将我的POI添加到此处并通过这些API进行搜索。
我知道通过在Map上添加群集标记的解决方案。但如果每次都在我的数据库中检索POI,那将是困难和昂贵的。比如查找圆形区域内的所有POI(半径为10英里)。您是否有更好的解决方案在HERE地图上添加自定义POI?
由于
答案 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();
}
}
};