我已经构建了一个地理定位应用,可以在地图上显示帐户的位置。然而,为了改进和进一步,我已经决定添加一个显示"距离"该帐户的正在查看地图的人。
经过几天的研究,这是我走了多远,但我仍然无法得到它。所以,如果有人知道我做错了什么或如何使它工作,请告诉我!
我的代码:
public with sharing class AccountController {
@AuraEnabled
public static List<Account> findAll() {
return [SELECT id, name, Location__Latitude__s, Location__Longitude__s, Industry
FROM Account
WHERE Location__Latitude__s != NULL AND Location__Longitude__s != NULL
LIMIT 50];
DISTANCE(GEOLOCATION(BillingLatitude , BillingLongitude ),
Account_Name__r.GeoLocation__Latitude__s , Branch_Assigned__r.GeoLocation__Longitude__s ) ,
'mi')
}}
非常感谢!
答案 0 :(得分:0)
要做到这一点,您需要知道:
AccountId
变量)Latitude
和Longitude
变量)该信息可以输入以下查询:
Id AccountId = '0010I00001qh9r0';
Decimal Latitude = 37.775;
Decimal Longitude = -122.418;
list<Account> Accounts = [
SELECT Id
, DISTANCE (
Location__c
, GEOLOCATION( :Latitude , :Longitude )
, 'km'
) Distance
FROM Account
WHERE Id = :AccountId
];
for ( Account a : Accounts ) System.debug( a );
这将为您提供距离:
帐户:{Id = 0010I00001qh9r0QAA,距离= 1.6328418223544767}