close
تبلیغات در اینترنت
Google maps,maps,نقشه گوگل,کد استفاده از نقشه گوگل,استفاده از نقشه گوگ
صفحه اصلی پرشین استک

{ پرشین استک }

به دنیای برنامه نویسی خوش آمدید
|


پرشین استک تنها یک سایت نیست ، بلکه یک پروژه همگانی می باشد .


تعداد مطالب :
142


تعداد توسعه دهندگان :
11


تاریخ امروز :
یکشنبه 02 اردیبهشت 1397

به کانال تلگرام ما بپیوندید


×

لیست سوالات من

افزودن

چگونه نام شهر را از مختصات طول و عرض جغرافیایی در Google Maps بدست آوریم؟

چگونه می توانم نام شهر را در Google Maps بدست آورم اگر مختصات طول (longitude) و عرض جغرافیایی (latitude) یک شهر یا منطقه را داشته باشم؟ من سعی کردم از عرض جغرافیایی و طول جغرافیایی استفاده کنم و کشور را بشناسم اما نمی دانم چگونه نام شهر را بدست آورم ؟

 

پاسخ 1 :

شما می توانید از یک شی Geocoder، متد getFromLocation(double, double, int) را فراخوانی کنید . این یک لیست از اشیا آدرس (Address) که دارای متد ()getLocality هستند ، بر می گرداند .

 

Geocoder gcd = new Geocoder(context,Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(lat, lng,1);
if (addresses.size() > 0)
{
System.out.println(addresses.get(0).getLocality());
}
else
{
// do your staff
}

 

 

پاسخ 2 :

شما می توانید از کد زیر برای دریافت شهر و سایر جزئیات در مورد طول و عرض جغرافیایی استفاده کنید :

 

public class getReverseGeoCoding {
private StringAddress1 = "",Address2 = "",City = "",State = "",Country = "",County = "", PIN = "";

public void getAddress(){
Address1 = "";
Address2 = "";
City = "";
State = "";
Country= "";
County = "";
PIN = "";

try{

JSONObject jsonObj = parser_Json.getJSONfromURL("http://maps.googleapis.com/maps/api/geocode/json?latlng="+Global.curLatitude + ","
+Global.curLongitude +"&sensor=true");
StringStatus = jsonObj.getString("status");
if (Status.equalsIgnoreCase("OK")){
JSONArrayResults = jsonObj.getJSONArray("results");
JSONObject zero = Results.getJSONObject(0);
JSONArray address_components = zero.getJSONArray("address_components");

for (int i = 0; i < address_components.length(); i++){
JSONObject zero2 = address_components.getJSONObject(i);
String long_name = zero2.getString("long_name");
JSONArray mtypes = zero2.getJSONArray("types");
StringType = mtypes.getString(0);

if (TextUtils.isEmpty(long_name) == false || !long_name.equals(null) || long_name.length() > 0 || long_name != ""){
if (Type.equalsIgnoreCase("street_number")){
Address1 = long_name +" ";
}else if (Type.equalsIgnoreCase("route")){
Address1 = Address1 + long_name;
}else if (Type.equalsIgnoreCase("sublocality")){
Address2 = long_name;
}else if(Type.equalsIgnoreCase("locality")){
// Address2 = Address2 + long_name + ", ";
City = long_name;
}else if(Type.equalsIgnoreCase("administrative_area_level_2")){
County = long_name;
}else if(Type.equalsIgnoreCase("administrative_area_level_1")){
State = long_name;
}else if(Type.equalsIgnoreCase("country")){
Country = long_name;
}else if(Type.equalsIgnoreCase("postal_code")){
PIN = long_name;
}
}

// JSONArray mtypes = zero2.getJSONArray("types");
// String Type = mtypes.getString(0);
// Log.e(Type,long_name);
}
}

}catch(Exception e){
e.printStackTrace();
}

}


public String getAddress1(){
return Address1;

}

public String getAddress2(){
return Address2;

}

public String getCity(){
return City;

}

public String getState(){
return State;

}

public String getCountry(){
return Country;

}

public String getCounty(){
return County;

}

public String getPIN(){
return PIN;

}

}

 

 

کلاس JSON PARSER :

 

public class parser_Json {
public static JSONObject getJSONfromURL(String url){

// initialize
InputStreamis=null;
String result = "";
JSONObject jObject = null;

// http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();

}catch (Exception e){
Log.e("log_tag","Error in http connection " + e.toString());
}

// convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine())!= null){
sb.append(line + "n");
}
is.close();
result = sb.toString();
}catch (Exception e){
Log.e("log_tag","Error converting result " + e.toString());
}

// try parse the string to a JSON object
try{
jObject = new JSONObject(result);
}catch (JSONException e){
Log.e("log_tag","Error parsing data " + e.toString());
}

return jObject;
}

}

 

 

پاسخ 3 :

کد زیر را امتحان کنید :

 

List<Address> list = geoCoder.getFromLocation(location
.getLatitude(), location.getLongitude(),1);
if (list != null & list.size() > 0){
Address address = list.get(0);
result = address.getLocality();
return result;

 

پاسخ 4 :

کد زیر را امتحان کنید :

 

CityAsyncTask cst = new CityAsyncTask(HomeScreenUserLocation.this,
latitude, longitude);
cst.execute();

String lo = null;
try{
lo = cst.get().toString();
}catch (InterruptedException e){
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ExecutionException e){
// TODO Auto-generated catch block
e.printStackTrace();
}

 

و AsyncTask :

 

public class CityAsyncTask extends AsyncTask<String,String,String>{
Activity act;
double latitude;
double longitude;

public CityAsyncTask(Activity act,double latitude,double longitude){
// TODO Auto-generated constructor stub
this.act = act;
this.latitude = latitude;
this.longitude = longitude;
}

@Override
protected String doInBackground(String...params){
String result = "";
Geocoder geocoder = new Geocoder(act,Locale.getDefault());
try{
List<Address> addresses = geocoder.getFromLocation(latitude,
longitude,1);
Log.e("Addresses","-->" + addresses);
result = addresses.get(0).toString();
}catch (IOException e){
e.printStackTrace();
}
return result;
}

@Override
protected void onPostExecute(String result){
// TODO Auto-generated method stub
super.onPostExecute(result);

}
}

 

 

پاسخ 5 :

کد زیر را امتحان کنید :

 

Geocoder geocoder = new Geocoder(this,Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(latitude, longitude,1);
String cityName = addresses.get(0).getAddressLine(0);
String stateName = addresses.get(0).getAddressLine(1);
String countryName = addresses.get(0).getAddressLine(2);

 

پاسخ 6 :

کد زیر را امتحان کنید :

 

private class MatchingNearByLocationTask extends
AsyncTask<Void,Void,Void>
{

@Override
protected void onPreExecute(){
super.onPreExecute();
// Showing progress dialog

progressDialog = new ProgressDialog(mContext);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(true);
progressDialog.show();

}

@Override
protected Void doInBackground(Void... arg0){

jsonStr = getLocationInfo(Latitude,Longitude).toString();
if (jsonStr != null){
Log.i("location--??", jsonStr);

JSONObject jsonObj;
try{
jsonObj = new JSONObject(jsonStr);

StringStatus = jsonObj.getString("status");
if (Status.equalsIgnoreCase("OK")){
JSONArrayResults = jsonObj.getJSONArray("results");
JSONObject zero = Results.getJSONObject(0);
JSONArray address_components = zero
.getJSONArray("address_components");

for (int i = 0; i < address_components.length(); i++){
JSONObject zero2 = address_components
.getJSONObject(i);
String long_name = zero2.getString("long_name");
JSONArray mtypes = zero2.getJSONArray("types");
StringType = mtypes.getString(0);
if (Type.equalsIgnoreCase("administrative_area_level_2")){
// Address2 = Address2 + long_name + ", ";
StringCity = long_name;
Log.d(" CityName --->",City+"");
}
}
}

}

catch (JSONException e){

e.printStackTrace();
}

}

return null;
}


@Override
protected void onPostExecute(Void result){
super.onPostExecute(result);
// Dismiss the progress dialog
if (progressDialog.isShowing()){
progressDialog.dismiss();
}

}

@Override
protected void onCancelled(){

super.onCancelled();
progressDialog.dismiss();

}

}


private JSONObject getLocationInfo(double lat,double lng){

HttpGet httpGet = new HttpGet(
"http://maps.googleapis.com/maps/api/geocode/json?latlng="
+ lat +","+ lng +"&sensor=false");
HttpClient client = new DefaultHttpClient();
HttpResponse response;
StringBuilder stringBuilder = new StringBuilder();

try{
response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
InputStream stream = entity.getContent();
int b;
while ((b = stream.read())!= -1){
stringBuilder.append((char) b);
}
}catch (ClientProtocolException e){
}catch (IOException e){
}

JSONObject jsonObject = new JSONObject();
try{
jsonObject = new JSONObject(stringBuilder.toString());
}catch (JSONException e){
e.printStackTrace();
}

return jsonObject;
}

 

پاسخ 7 :

شما می توانید از کد زیر استفاده کنید اگر یک لیست دارید :

 

Address address = list.get(0);
String cityname = address.getLocality();

 

پاسخ 8 :

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

 

 com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(data);
if ("OK".equals(jsonObject.getString("status"))){
String formatted_address;
JSONArray results = jsonObject.getJSONArray("results");
if (results != null && results.size() > 0){
com.alibaba.fastjson.JSONObjectobject = results.getJSONObject(0);
String addressComponents = object.getString("address_components");
formatted_address = object.getString("formatted_address");
Log.e("amaya","formatted_address=" + formatted_address + "--url=" + url);
if (findCity){
boolean finded = false;
JSONArray ac = JSONArray.parseArray(addressComponents);
if (ac != null && ac.size() > 0){
for (int i = 0;i < ac.size() ; i++){
com.alibaba.fastjson.JSONObject jo = ac.getJSONObject(i);
JSONArray types = jo.getJSONArray("types");
if (types != null && types.size() > 0){
for (int j = 0;j < ac.size(); j++){
String string = types.getString(i);
if ("administrative_area_level_1".equals(string)){
finded = true;
break;
}
}
}
if (finded) break;
}
}
Log.e("amaya","city=" + formatted_address);
}else{
Log.e("amaya","poiName=" + hotspotPoi.getPoi_name() + "--"+hotspotPoi);
}
if (hotspotPoi != null) hotspotPoi.setPoi_name(formatted_address);
EventBus.getDefault().post(newAmayaEvent.GeoEvent(hotspotPoi));
}
}

 

این یک روش برای تجزیه اطلاعات بازخورد گوگل است .

 

پاسخ 9 :

در اینجا من از سرویس http گوگل استفاده کرده ام تا کل اطلاعات مکان را براساس طول و عرض جغرافیایی دریافت کنم . شما باید طول و عرض جغرافیایی را در URL و API KEY خود را ارسال کنید (مثل : latlng=21.1497409, 79.08747970000002 & key=YOUR API KEY ) . در اینجا getservice در کلاس ExampleService قرار دارد :

 

 getService(url){

return this.http.get(url).map((data: any) => data.json())

}

 

شما می توانید کد زیر را در هر جایی که می خواهید قرار دهید و فقط سرویس زیر را از کامپوننت در جایی که اطلاعات مکان را می خواهید ، فراخوانی کنید :

 

this._exampleService.getService("https://maps.googleapis.com/maps/api/geocode/json?latlng=21.1497409, 79.08747970000002&key=YOUR API KEY").subscribe(getplaceData =>{
var placeDataDest: any;
placeDataDest = getplaceData;
console.log("i got place id yeee "+ placeDataDest['results'][0]['place_id']);
console.log("i got place details yeee "+ placeDataDest['results']);
});

 

صفحه اصلی

45

22 / 05 / 1396

PERSIAN STACK


دانلود تمامی API های اندروید

ادامه مطلب

687

چرا گاهی اوقات API موقعیت مکانی سرویس گوگل پلی ، موقعیت مکانی اشتباهی را برمی گرداند ؟

ادامه مطلب

651

چگونه نرم افزار ضبط صدای اندرویدی بسازیم ؟

ادامه مطلب

551

چرا TextView کلمات را با حروف می شکند ؟

ادامه مطلب

511

چگونه Google API برای سطح API 25 را پیدا کنیم ؟

ادامه مطلب

381

چرا وبسایت تجارت الکترونیک Magento 2 در Webview اندروید کار نمی کند ؟

ادامه مطلب

381

دانلود پروژه نمایش جستجوی کتاب برای اندروید

ادامه مطلب

347

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

269

دانلود کتابخانه Retrofit برای اندروید + پروژه

ادامه مطلب

265

دانلود سورس کد بازی اندرویدی Klooni 1010! + فایل APK

ادامه مطلب

261

در تکمیل خودکار اندروید ، دلیل dispatchProvideAutofillStructure() not laid out چیست ؟

ادامه مطلب

247

چرا زمانی که با استفاده از cordova در اندروید 7.0 ، اس ام اس ارسال می کنیم ، با اثتثنای (Exception) امنیتی مواج

ادامه مطلب

245

آیا راهی برای یافتن تغیرات ماه در نمای تقویم اندروید (calendar view) وجود دارد ؟

ادامه مطلب

243

چگونه ارور com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders را در اندروید رفع کنیم ؟

ادامه مطلب

205

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

199

دانلود سورس کد اپلیکیشن اسکنر بارکد برای اندروید + فایل APK

ادامه مطلب

157

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

153

آموزش استفاده از دیتابیس آماده در پروژه اندرویدی

ادامه مطلب

147

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

143

دانلودسورس کد اپلیکیشن موزیک پلیر برای اندروید + فایل APK

ادامه مطلب

141

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

یکشنبه 05 آذر 1396

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

یکشنبه 21 آبان 1396

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

یکشنبه 21 آبان 1396

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

شنبه 20 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

شنبه 20 آبان 1396

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

جمعه 19 آبان 1396

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

یکشنبه 14 آبان 1396

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

یکشنبه 14 آبان 1396

قسمت سیزدهم - CSS در HTML

ادامه مطلب

شنبه 13 آبان 1396

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چهارشنبه 10 آبان 1396

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید می توان آیدی موبایل را بدست آورد ؟

ادامه مطلب

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

ادامه مطلب

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

ادامه مطلب

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

ادامه مطلب

چگونه می توان در اندروید RTL یا LTR صفحه را ثابت کرد ؟

ادامه مطلب

چگونه می توان در اندروید حالت افقی (landscape) را غیر فعال کرد ؟

ادامه مطلب

آموزش استفاده از دیتابیس آماده در پروژه اندرویدی

ادامه مطلب

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

دانلود سورس کد اپلیکیشن آموزش زبان انگلیسی + فایل APK

ادامه مطلب

چگونه نگذاریم در آغاز اکتیویتی ، EditText فوکوس را بدست آورد ؟

ادامه مطلب

چگونه کیبورد پیش فرض اندروید (Soft Keyboard) را پنهان کرده یا ببندیم ؟

ادامه مطلب

چرا سرعت مجازی ساز اندروید کم است و چگونه می توان سرعت آنرا افزایش داد ؟

ادامه مطلب

تفاوت بین واحد های اندازه گیری "px" , "dp" , "dip" و "sp" چیست ؟

ادامه مطلب

دانلود سورس کد اپلیکیشن آهنگ سازی برای اندروید + فایل APK

ادامه مطلب

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

× برای نظر گذاشتن یا پاسخ دادن به سوالات باید در سایت عضو باشید !

برای حمایت از ما روی بنر های زیر کلیک کنید .

برای سفارش تبلیغات به ما ایمیل بزنید .

×

ارتباط با ما