Xml Oracle Apex-如何更改地图标签?

Xml Oracle Apex-如何更改地图标签?,xml,oracle-apex,Xml,Oracle Apex,我正在使用ORACLE APEX 4.2,在我的应用程序中,我正在显示阿富汗地图(AnyChart)及其所在省份,现在我想更改地图上显示的标签 例如,显示Kabol的地图,我想将其替换为Kabul,因此Lowgar到Logar还有更多 下面是可能需要更新的XML(映射XML)文件,我尝试查找,但失败 <?xml version = "1.0" encoding="utf-8" standalone = "yes"?> <anychart> <settings&g

我正在使用ORACLE APEX 4.2,在我的应用程序中,我正在显示阿富汗地图(AnyChart)及其所在省份,现在我想更改地图上显示的标签

例如,显示
Kabol
的地图,我想将其替换为
Kabul
,因此
Lowgar
Logar
还有更多

下面是可能需要更新的XML(映射XML)文件,我尝试查找,但失败

<?xml version = "1.0" encoding="utf-8" standalone = "yes"?>
<anychart>
  <settings>
    <animation enabled="true"/>
    <no_data show_waiting_animation="False">
      <label>
        <text>#NO_DATA_MESSAGE#</text>
        <font family="Verdana" bold="yes" size="10"/>
      </label>
    </no_data>
  </settings>
  <margin left="0" top="0" right="0" bottom="0" />
  <charts>
    <chart plot_type="Map" name="chart_25753918635243424"> 

      <chart_settings>
        <title enabled="False" />
        <data_plot_background>
          <fill type="Solid" color="0xffffff" opacity="0" />
          <border enabled="false"/>
          <corners type="Square"/>
        </data_plot_background>

        <chart_animation type="ScaleXLeft" interpolation_type="Quadratic" show_mode="OneByOne"/>
        <controls>
          <navigation_panel enabled="True"/>
          <zoom_panel enabled="True"/>
        </controls>
      </chart_settings>
      <data_plot_settings enable_3d_mode="false">
        <map_series source="asia/afghanistan.amap" id_column="REGION_NAME" labels_display_mode="Always">
         <projection type="Mercator"  />

         <defined_map_region >
          <tooltip_settings enabled="true">
            <format><![CDATA[{%Name}{enabled:False} - {%value1}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,}]]></format>
            <font family="Tahoma" size="10" color="0x000000" />
              <position anchor="Float" valign="Top" padding="10" /> 
          </tooltip_settings>
          <label_settings enabled="true" mode="Outside" multi_line_align="Center">
            <format><![CDATA[{%Name}{enabled:False} - {%value1}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,}]]></format>
            <background enabled="false"/>
            <font family="Arial" size="10" color="0x000000" />
          </label_settings>
         </defined_map_region>
          <grid enabled="true">
            <parallels enabled="true"/>
            <meridians enabled="true"/>
            <background>
          <fill type="Solid" color="0xffffff" opacity="0" />
          <border enabled="false"/>
          <corners type="Square"/>
            </background>
          </grid>
        </map_series>

      </data_plot_settings>

#DATA#
    </chart>
  </charts>
</anychart>

#无数据信息#
#资料#
我所要做的就是,如果我们可以有条件地更新或替换%Name的值,我就可以得到我的解决方案


或者,如果有人有更好的解决方案或想法,请分享…

您通常只需在MapRegions系列中指定要重命名的,并将它们(按名称)链接到原始名称。例如

  <data>
    <series type="MapRegions">
      <point name="Kabol" y="0">
        <attributes>
          <attribute name="newname">Kabul</attribute>
        </attributes> 
      </point>
    </series>
  </data>

喀布尔
但是,您的问题是PL/SQL中的#DATA#标记正在动态生成数据标记,您不能有多个数据标记。您需要:

选项1:如果其中包含一些正在打印的自定义数据,则截取并替换其中的数据。换句话说,不要使用#DATA#,而是使用一些PL/SQL函数调用来读取#DATA#并写入替换的字符串

选项2:生成如上所述的完整数据集,其中包含“y”属性中的自定义数据。满意味着所有的分数。文件中的所有地区名称都列在其网站上。这会容易得多。只需将上面的#DATA#替换为生成整个点集的函数即可

选项3:你可以给自己弄一个阿富汗的SHP文件,放入标签,然后使用他们的地图转换器用标签构建一个新的.AMAP