使用这个链接可以得到纬度31,经度121的地方是上海。
http://ditu.google.cn/maps/geo?ll=31,121&output=xml&sensor=true_or_false&key=abcdefg
返回的结果是一个XML文件:
把这个结果保存为geo.xml的文件。用delphi的XML Mapper工具打开,选取你想要的字段,保存为一个geo.xsd文件:
再用delphi,File-New-XML Data Binding这个向导,把geo.xsd文件包装成一个geo.pas:
然后,写个demo程序,看看能不能正确显示:
奇怪,弹出的对话框是空,没有取到国家???
找了好久,发现是XML的AddressDetails节点,有一个xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0",删除掉就可以了。
或者修改XMLDoc.pas两个地方:
此问题在delphi7和delphi2010都存在。