有时地图文字可能显示的不是对应区域的地名,而是多个区域都显示相同的文字内容,如下图:
图中各省份的文字全都显示为“北京市”。这是因为在【分析数据】设置的空间字段与分析字段匹配关系中,部分空间字段值没有找到符合匹配条件的数据集记录。
以上图为例,地图数据与业务数据的匹配关系设置为空间字段【ID】与分析字段【拼音】匹配,检查发现,不是所有的ID都能在数据集中找到对应的【拼音】。
地图数据找不到匹配的业务数据原因,可能有两个:
(1)业务数据的数据集确实少记录,或者字段值并不精确等于空间字段值。
这种情况,只需修正或补充业务数据集的记录或者字段值,即可解决问题。
(2)空间字段的类型与业务数据的字段类型不一致
例如以空间字段的【ADCODE99】与业务数据字段的【城市代码】匹配,尽管看起来都是110100代表北京,但是通过查看 Layers 属性中的FieldDefinitions集合:
ADCODE99字段的数据类型(DataType)是数值(Decimal):
而业务数据集的字段类型是字符串(varchar)。这样也不可能匹配成功。
这种情况,只需将ADCODE99的DataType从Decimal改为String,或者将业务数据集的字段类型转为Decimal,即可匹配成功。