رفتن به مطلب
  • 0

موقعیت دقیق


اندرویدستان

سوال

با سلام به همه دوستان عزیز دل

کسی میدونه چطوری میشه موقعیت دقیق کاربر رو روی نقشه گرفت؟

با gps و LocationManager موقعیت دقیق رو نمیده کمی خطا داره

استفاده همزمان رو هم نمیودم

درضمن من همه راه ها رو رفتم ولی جواب نگرفتم

اگه کسی کدی داره میشه برای من بزاره ممنونم از همه شما

اگه لینک هم بزاره ممنون میشم

با تشکر از همه شما عزیزان دوست داشتنی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 1398/03/11, 22:23:58، farsroom گفته است :

با سلام به همه دوستان عزیز دل

کسی میدونه چطوری میشه موقعیت دقیق کاربر رو روی نقشه گرفت؟

با gps و LocationManager موقعیت دقیق رو نمیده کمی خطا داره

استفاده همزمان رو هم نمیودم

درضمن من همه راه ها رو رفتم ولی جواب نگرفتم

اگه کسی کدی داره میشه برای من بزاره ممنونم از همه شما

اگه لینک هم بزاره ممنون میشم

با تشکر از همه شما عزیزان دوست داشتنی

سلام دوست عزیز 

جی پی اس حدود ۳ الی ۵۰ متر خطای نمایش داره 

و نکته مهم این هستش که کسی که برنامه روی گوشیش نصب شده باشه باید دقت جی پی اسش رو رو حالت High Accuracy یا دقت بالا گذاشته باشه 

و یه نکته دیگه هم هست که گوشی کاربر از لحاظ سخت افزاری یا نرم افزاری مشکل جی پی اس نداشته باشه که به شخصه ۳ تا از گوشیام این مشکلو داشتن

برای این که مقداری از این مشکلو حل کنی صفحه ی اول کاربر کد بزن که مستقیم بره توی صفحه تنظیمات جی پی اس که دقت اون رو بالا ببره

و در ضمن روشن بودن وای فای هم به موقعیت یابی جی پی اس کمک زیادی میکنه

و در رابطه با لینک هم بگم یه کتابخونه ای در مورد Gps تو همین انجمن بود که آقای جقله اونو درست کرده بودن و  الان من گشتم پیدا نکردم و به آقای ایزدی یه پی ام بدید فکر میکنم مشکلتون حل بشه 

بازم من داخل تلگرام اکانتشونو دارم و نمونه هم داخل تلگرام دارم مشکلتون حل نشد پی ام بدید 

@CpAdmin

لینک ارسال
به اشتراک گذاری در سایت های دیگر

هیچ کدوم بدرد نخورد

اگه سورس دارید میتونید بزارید؟

تلگرام نمیزاره به کاربری پیام بدم اسپم شدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

داداش gps کلا خطا داره دوستان گفتن و یه چیز عادیه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1398/03/24, 10:55:55، mohammad3250 گفته است :

داداش gps کلا خطا داره دوستان گفتن و یه چیز عادیه

ممنون از همه ولی چطوری اسنب یا اپلیکیشنهایی که با نقشه کار میکنن دقیق موقعیت رو نشون میدن

فدات عزیز

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اول از کاربر این دسترسی ها رو بگیرید


	Dim ru As RuntimePermissions
	If ru.Check(ru.PERMISSION_ACCESS_FINE_LOCATION) = False Or ru.Check(ru.PERMISSION_ACCESS_COARSE_LOCATION) = False Then
		For Each Permission As String In Array(ru.PERMISSION_ACCESS_FINE_LOCATION, ru.PERMISSION_ACCESS_COARSE_LOCATION,"android.permission.NETWORK","android.permission.WIFI","android.permission.GPS")
			ru.CheckAndRequest(Permission)
			Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
			If Result = False Then
				ToastMessageShow("اجازه دسترسی به مکان داده نشد!",False)
			End If
		Next
	End If

بعد یه سرویس درست کنید و این محتوا رو توش قرار بدین

#Region  Service Attributes 
	#StartAtBoot: False
#End Region


Sub Process_Globals

	Private FusedLocationProvider1 As FusedLocationProvider
	Private LastLocation As Location


End Sub

Sub Service_Create
	FusedLocationProvider1.Initialize("FusedLocationProvider1")


	Dim n As Notification
	n.Initialize2(n.IMPORTANCE_LOW)
	n.Icon      = "icon"
	n.Sound    = False
	n.Vibrate    = False
	n.Light    = False
	n.Insistent  = False
	n.AutoCancel = False
	n.SetInfo("","","")
	Service.AutomaticForegroundNotification = n
End Sub

Sub Service_Start (StartingIntent As Intent)
	Service.StopAutomaticForeground
	FusedLocationProvider1.Connect
	LastLocation.Initialize
End Sub

Sub Service_Destroy
	FusedLocationProvider1.Disconnect
End Sub

#Region "Gestione"

Sub FusedLocationProvider1_ConnectionFailed(ConnectionResult1 As Int)
	
	Try
		Log("FusedLocationProvider1_ConnectionFailed")
		'	the FusedLocationProvider ConnectionResult object contains the various CoonectionResult constants
	
		Select ConnectionResult1
			Case FusedLocationProvider1.ConnectionResult.NETWORK_ERROR
				'	a network error has occurred, this is likely to be a recoverable error
				'	so try to connect again
				FusedLocationProvider1.Connect
			Case Else
				'	TODO handle other errors
		End Select
		
	Catch
		Log(LastException)
	End Try
	
End Sub

Sub FusedLocationProvider1_ConnectionSuccess
	
	
	Try
		Log("FusedLocationProvider1_ConnectionSuccess")
		
		Dim LocationRequest1 As LocationRequest
		LocationRequest1.Initialize
		LocationRequest1.SetInterval(1000)	'	1000 milliseconds
		LocationRequest1.SetPriority(LocationRequest1.Priority.PRIORITY_HIGH_ACCURACY)
		LocationRequest1.SetSmallestDisplacement(1)	'	1 meter
		FusedLocationProvider1.RequestLocationUpdates(LocationRequest1)
		
	Catch
		Log(LastException)
	End Try
End Sub

Sub FusedLocationProvider1_ConnectionSuspended(SuspendedCause1 As Int)
	
	Try
		Log("FusedLocationProvider1_ConnectionSuspended")
		'	the FusedLocationProvider SuspendedCause object contains the various SuspendedCause constants
	
		Select SuspendedCause1
			Case FusedLocationProvider1.SuspendedCause.CAUSE_NETWORK_LOST
				'	TODO take action
			Case FusedLocationProvider1.SuspendedCause.CAUSE_SERVICE_DISCONNECTED
				'	TODO take action
		End Select
		
	Catch
		Log(LastException)
	End Try
	
End Sub

Sub FusedLocationProvider1_LocationChanged(Location1 As Location)
	Try
		
		CallSubDelayed2(MahafelMazhadi,"MyLocation",Location1)
	
	Catch
		Log(LastException)
	End Try

End Sub

#End Region

این مقادیر رو هم به مانیفست اضافه کنید

AddApplicationText(<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />)
	
AddPermission(android.permission.ACCESS_FINE_LOCATION)
AddPermission(android.permission.ACCESS_COARSE_LOCATION)

و این رو هم به Main اضافه کنید

#AdditionalJar: com.google.android.gms:play-services-location

 

توی اکتیویتی که میخای مکان رو بگیرید این ساب رو ایجاد کنید و توی سرویس اسم اکتیویتی رو توی ساب FusedLocationProvider1_LocationChanged(Location1 As Location) ویرایش کنید


Sub MyLocation(Location1 As Location)
	
	StopService(GPSman)
	Log(Location1.Latitude&","&Location1.Longitude)

End Sub

و تمام

و یادتون نره که موقعی که میخاین مکان رو دریافت کنید سرویس رو باید استارت کنید

با روشن کردن GPS میتونید مکان دقیق رو بگیرید حتی اگر توی خونه باشید نه بیرون

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...