protected BinaryMapPoiReaderAdapter(BinaryMapIndexReader map) { this.codedIS = map.codedIS; this.map = map; this.poiTypes = MapPoiTypes.getDefault(); }
public static void main(String[] args) { DEFAULT_INSTANCE = new MapPoiTypes("/Users/victorshcherb/osmand/repos/resources/poi/poi_types.xml"); DEFAULT_INSTANCE.init(); // print(DEFAULT_INSTANCE) ; // System.out.println("-----------------"); List<AbstractPoiType> lf = DEFAULT_INSTANCE.getTopVisibleFilters(); for (AbstractPoiType l : lf) { System.out.println("----------------- " + l.getKeyName()); // print("", l); Map<PoiCategory, LinkedHashSet<String>> m = l.putTypes(new LinkedHashMap<PoiCategory, LinkedHashSet<String>>()); // System.out.println(m); } }
public Map<String, PoiType> getAllTranslatedNames(boolean skipNonEditable) { Map<String, PoiType> translation = new HashMap<String, PoiType>(); for (int i = 0; i < categories.size(); i++) { PoiCategory pc = categories.get(i); if (skipNonEditable && pc.isNotEditableOsm()) { continue; } addPoiTypesTranslation(skipNonEditable, translation, pc); } return translation; }
public static MapPoiTypes getDefault() { if (DEFAULT_INSTANCE == null) { DEFAULT_INSTANCE = new MapPoiTypes(null); DEFAULT_INSTANCE.init(); } return DEFAULT_INSTANCE; }
} else if (name.equals("poi_additional")) { if (lastCategory == null) { lastCategory = getOtherMapCategory(); PoiType baseType = parsePoiAdditional(parser, lastCategory, lastFilter, lastType, null, null, lastPoiAdditionalCategory); if ("true".equals(parser.getAttributeValue("", "lang"))) { for (String lng : MapRenderingTypes.langs) { parsePoiAdditional(parser, lastCategory, lastFilter, lastType, lng, baseType, lastPoiAdditionalCategory); parsePoiAdditional(parser, lastCategory, lastFilter, lastType, "en", baseType, lastPoiAdditionalCategory); lastCategory = getOtherMapCategory(); deprecatedTags.put(vl, target); } else { lastType = parsePoiType(allTypes, parser, lastCategory, lastFilter, null, null); if ("true".equals(parser.getAttributeValue("", "lang"))) { for (String lng : MapRenderingTypes.langs) { parsePoiType(allTypes, parser, lastCategory, lastFilter, lng, lastType); if (poiAdditionals != null) { for (PoiType poiType : poiAdditionals) { buildPoiAdditionalReference(poiType, entry.getKey()); findDefaultOtherCategory(); init = true; log.info("Time to init poi types " + (System.currentTimeMillis() - time)); //$NON-NLS-1$
public static Amenity parseJSON(JSONObject json) { Amenity a = new Amenity(); MapObject.parseJSON(json, a); if (json.has("subType")) { a.subType = json.getString("subType"); } if (json.has("type")) { String categoryName = json.getString("type"); a.setType(MapPoiTypes.getDefault().getPoiCategoryByName(categoryName)); } else { a.setType(MapPoiTypes.getDefault().getOtherPoiCategory()); } if (json.has("openingHours")) { a.openingHours = json.getString("openingHours"); } if (json.has("additionalInfo")) { JSONObject namesObj = json.getJSONObject("additionalInfo"); a.additionalInfo = new HashMap<>(); Iterator<String> iterator = namesObj.keys(); while (iterator.hasNext()) { String key = iterator.next(); String value = namesObj.getString(key); a.additionalInfo.put(key, value); } } return a; } }
@Override public boolean search(SearchPhrase phrase, SearchResultMatcher resultMatcher) throws IOException { if (translatedNames.isEmpty()) { translatedNames = types.getAllTranslatedNames(false); topVisibleFilters = types.getTopVisibleFilters(); categories = types.getCategories(false); Entry<String, PoiType> e = it.next(); PoiType pt = e.getValue(); if (pt.getCategory() != types.getOtherMapCategory()) { if (!results.contains(pt) && (nm.matches(pt.getEnTranslation())
public String getEnTranslation(AbstractPoiType abstractPoiType) { if (poiTranslator != null) { String translation = poiTranslator.getEnTranslation(abstractPoiType); if (!Algorithms.isEmpty(translation)) { return translation; } } return getBasePoiName(abstractPoiType); }
public List<AbstractPoiType> getAllTypesTranslatedNames(StringMatcher matcher) { List<AbstractPoiType> tm = new ArrayList<AbstractPoiType>(); for (PoiCategory pc : categories) { if (pc == otherMapCategory) { continue; } addIf(tm, pc, matcher); for (PoiFilter pt : pc.getPoiFilters()) { addIf(tm, pt, matcher); } for (PoiType pt : pc.getPoiTypes()) { if (pt.isReference()) { continue; } addIf(tm, pt, matcher); } } return tm; }
public static MapPoiTypes getDefaultNoInit() { if (DEFAULT_INSTANCE == null) { DEFAULT_INSTANCE = new MapPoiTypes(null); } return DEFAULT_INSTANCE; }
public boolean isTextAdditionalInfo(String key, String value) { if (key.startsWith("name:") || key.equals("name")) { return true; } PoiType pat = (PoiType) getAnyPoiAdditionalTypeByKey(key); // initPoiTypesByTag(); // PoiType pat = poiTypesByTag.get(key + "/" + value); // if (pat == null) { // pat = poiTypesByTag.get(key); // } if (pat == null) { return true; } else { return pat.isText(); } }
res.otherNames = object.getAllNames(true); if (Algorithms.isEmpty(res.localeName)) { AbstractPoiType st = types.getAnyPoiTypeByKey(object.getSubType()); if (st != null) { res.localeName = st.getTranslation();
public String getTranslation(AbstractPoiType abstractPoiType) { if (poiTranslator != null) { String translation = poiTranslator.getTranslation(abstractPoiType); if (!Algorithms.isEmpty(translation)) { return translation; } } return getBasePoiName(abstractPoiType); }
private void addIf(List<AbstractPoiType> tm, AbstractPoiType pc, StringMatcher matcher) { if (matcher.matches(pc.getTranslation()) || matcher.matches(pc.getKeyName().replace('_', ' '))) { tm.add(pc); } List<PoiType> additionals = pc.getPoiAdditionals(); if (additionals != null) { for (PoiType a : additionals) { addIf(tm, a, matcher); } } }
private static void testSearchOnthePath(BinaryMapIndexReader reader) throws IOException { float radius = 1000; final MapPoiTypes poiTypes = MapPoiTypes.getDefault(); long now = System.currentTimeMillis(); println("Searching poi on the path...");
phrase = phrase.generateNewPhrase(phraseText, s); final SearchUICore core = new SearchUICore(MapPoiTypes.getDefault(), "en", false); core.init();