
Hi Mark, thanks for testing.
The road name POIs appear to be as expected except when the location-autofill option has a value of 2 or more - in that case, the city name always seems to be wildly wrong. It's almost as if a random city chosen from the cities in the map has been assigned to the road name POIs in a given region.
Yes I can reproduce your problem with my UK test case. I think I found a solution without messing up the results in countries with geodb tagging. The reason behind this problem is that I would like to use only real city names in poi addresses. I don't want to use suburbs or hamlet names for this purpose. In countries with poor is_in tagging this went wrong and all places which I don't have any info about where not used for the poi addresses. I think now it should work for both cases ... I think we should really discuss how OSM tagging could be improved to make generation of reliable address information easier. The current is_in tag is really hard to handle and. I have detected so many variations. I would prefer the separated tags version like is_in:country, is_in:region, is_in:city. Anyway the incremental patch for the poi branch is attached and also adds US support to the LocatorConfig.xml file. Any contributions to the LocatorConfig.xml file are welcome. To do so you have look at some of your is_in tags. A simple "grep is_in my.osm | sort -u" should do it to get a quick overview. <country name="Deutschland" abr="DEU" geodb="1" regionOffset="3" poiDispFlag="0xc"> <variant>Bundesrepublik Deutschland</variant> <variant>Germany</variant> <variant>DE</variant> </country> name -> specifies the country name you want to see on the garmin. abr -> the abbreviation for this country used on the garmin geodb -> 1 for Germany, Austria, Swizterland that has imported data from geodb. Default is 0 regionOffset -> Which administrative level down from the country name should be used as region info. Default is 1. poiDispFlag -> Address display format: Default is 0 / 0xc show street before street number / show zip before city variant -> This are the different spellings of this country in the is_in tags you would expect Thanks Berni. Index: src/uk/me/parabola/mkgmap/build/Locator.java =================================================================== --- src/uk/me/parabola/mkgmap/build/Locator.java (revision 956) +++ src/uk/me/parabola/mkgmap/build/Locator.java (working copy) @@ -399,6 +399,15 @@ { // In the last resolve run just take info from the next known city near = cityMap.findNextPoint(place); + + if(near != null && near.getCountry() != null) + { + // In OpenGeoDB Countries I don't want to mess up the info which city is a + // real independent Community in all other countries I just have to do it + + if(isOpenGeoDBCountry(near.getCountry()) == false) + place.setCity(place.getName()); + } } Index: resources/LocatorConfig.xml =================================================================== --- resources/LocatorConfig.xml (revision 956) +++ resources/LocatorConfig.xml (working copy) @@ -23,6 +23,9 @@ </country> <country name="France" abr="FRA"> </country> + <country name="United States" abr="USA"> + <variant>USA</variant> + </country> <continent name="Europe"> </continent> <continent name="Africa">