UWP 맵을 클릭하는 등 다양한 방법을 사용하여지도에 경유지를 추가하여 경로를 계획 할 수있는지도 컨트롤을 사용하여 UWP 앱을 개발 중입니다. 제어. 사용자가 웨이 포인트 또는 위치를 추가 할 수있게하려는 방법 중 하나는 실제 주소로 검색하는 것입니다. 아래의 BING 맵 REST 서비스 코드를 사용합니다. 그러나 앱을 현재 사용중인 언어와 문화를 제공하지 않으면 미국이 아닌 사용자에게 명확하게 사용되지 않는 미국 주소가 먼저 반환됩니다 (예 Microsoft 실제로 우리는 미국 밖에서 살고 있습니다 - 충격, 공포)! 호주에 대해 "en-AU"와 같은 언어 문화 문자열을 제공하면 먼저 호주 주소를 검색하게되며 이것이 실제로 잘 작동한다는 것을 발견했습니다. 장치의 지역 설정에서 NOT :W10 장치의 현재 국가의 문화와 언어를 사용하여 주소 조회 수행
public async Task<List<WayPoint>> FindAddress(string address)
{
List<WayPoint> matchingWaypoints = new List<WayPoint>();
//Create a Geocode request to submit to the BING Maps REST service.
var request = new GeocodeRequest()
{
Query = address.Trim(),
Culture = "en-AU", //HOW CAN I GET THIS FROM THE DEVICE'S CURRENT LOCATION???
IncludeIso2 = true,
IncludeNeighborhood = true,
MaxResults = 10,
BingMapsKey = MapServiceToken
};
//Process the request by using the BING Maps REST services.
var response = await ServiceManager.GetResponseAsync(request);
if (response != null &&
response.ResourceSets != null &&
response.ResourceSets.Length > 0 &&
response.ResourceSets[0].Resources != null &&
response.ResourceSets[0].Resources.Length > 0)
{
int wpNumber = 0;
foreach (BingMapsRESTToolkit.Location loc in response.ResourceSets[0].Resources)
matchingWaypoints.Add(new WayPoint(wpNumber++, loc.Address.FormattedAddress, loc.Point.Coordinates[0], loc.Point.Coordinates[1]));
}
return matchingWaypoints;
}
그래서 내가 분명히하고 싶은 장치의 현재 위치를 기반으로이 문자열을 (국가 즉)를 도출한다. 예를 들어, 누군가가 앱을 사용하고 있다면, 나는 en-US를 지정하려고합니다. 뉴질랜드에 있다면 en-NZ가 될 것이고, 프랑스에서는 "fr-FR"이 될 것입니다. 내가 할 수 있니? 내가 현지화에 대해 읽은 모든 것들은 장치 설정을 현재 물리적 위치가 아니라 사용하므로 여전히 어떻게해야 하는지를 알아 내려고 노력하고 있습니다. 사람이 도울 수 있다면
나는 위도와 경도를 반환합니다 https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Geolocation
이에서 위치를 확인하는 방법에 대한 공식 샘플이 있습니다
이것은 사용자가 물어 본 것과 정확히 일치하지 않습니다. UWP Finder API는 항상 OS 표시 언어를 사용하여 검색합니다. OS 디스플레이 언어는 사용자가 현재 요청한 국가의 언어와 일치하지 않을 수 있습니다. –
Duncan에게 감사 드려요.하지만 제 원래 게시물을 다시 읽어야 할 필요가 있다고 생각합니다. 나는 현지 언어로 결과를 요구하지 않았다. 내가 원했던 것은 문화와 언어 문자열로 검색을 할 수 있었기 때문에 미국 주소가 아닌 지역/국가에 대한 결과가 먼저 나왔다. 사실 FindLocationsAsync는 내가 묻는 것을 정확히 * 수행합니다. – nzmike