背景:看到Apex的帮助文档上有从地址项目上取得经纬度,城市等操作。
Account[] records = [SELECT id, BillingAddress FROM Account LIMIT 10];
for(Account acct : records) {
Address addr = acct.BillingAddress;
Double lat = addr.latitude;
Double lon = addr.longitude;
Location loc1 = Location.newInstance(30.1944,-97.6682);
Double apexDist1 = addr.getDistance(loc1, 'mi');
Double apexDist2 = loc1.getDistance(addr, 'mi');
System.assertEquals(apexDist1, apexDist2);
Double apexDist3 = Location.getDistance(addr, loc1, 'mi');
System.assertEquals(apexDist2, apexDist3);
}
以为定义好城市之后可以取得经纬度呢。所以验证了一下。
结果:如果在画面上只设置了国家,省份,城市信息,在Apex里是取得不到经纬度的。
(看来SFDC没有那么智能啊。)
还是需要设置上经纬度的值才行。
本文通过实际测试,揭示了在Salesforce中使用Apex从地址信息中直接获取经纬度的局限性。若仅设置国家、省份及城市信息,Apex无法自动解析出经纬度坐标,强调了手动输入或通过其他API服务获取经纬度的重要性。
898

被折叠的 条评论
为什么被折叠?



