コード例 #1
0
        internal ReverseGeocodeRequest(MapService service, double latitude, double longitute) : base(service, ServiceRequestType.ReverseGeocode)
        {
            // The Maps Service invokes this callback when the address is obtained from the specified coordinates.
            _geocodeCallback = (result, id, index, total, address, userData) =>
            {
                errorCode = result;
                if (result.IsSuccess())
                {
                    // The parameter address must be released using maps_address_destroy().
                    var addressHandle = new Interop.AddressHandle(address, needToRelease: true);
                    _addressList.Add(new PlaceAddress(addressHandle));
                    if (_addressList.Count == total)
                    {
                        _requestTask?.TrySetResult(_addressList);
                    }
                }
                else
                {
                    // If search is failed, the value of total is 0 and address is NULL
                    _requestTask?.TrySetException(errorCode.GetException(errMessage));
                }
            };

            startExecutionAction = new Action(() =>
            {
                int requestID;
                errMessage = $"Failed to get address for given coordinates: {latitude}:{longitute}";
                errorCode  = _service.handle.ReverseGeocode(latitude, longitute, _service.Preferences.handle, _geocodeCallback, IntPtr.Zero, out requestID);
                if (errorCode.IsFailed() && errorCode != Interop.ErrorCode.Canceled)
                {
                    _requestTask?.TrySetException(errorCode.GetException(errMessage));
                }
                _requestID = requestID;
            });
        }
コード例 #2
0
ファイル: PlaceAddress.cs プロジェクト: yunmiha/TizenFX
 internal PlaceAddress(Interop.AddressHandle nativeHandle)
 {
     handle = nativeHandle;
 }
コード例 #3
0
ファイル: PlaceAddress.cs プロジェクト: yunmiha/TizenFX
 /// <summary>
 /// Constructs a map address object.
 /// </summary>
 /// <since_tizen> 3 </since_tizen>
 /// <exception cref="System.InvalidOperationException">Thrown when native operation failed to allocate memory.</exception>
 public PlaceAddress()
 {
     handle = new Interop.AddressHandle();
 }