|
@@ -5,14 +5,22 @@ package com.usai.apex;
|
|
|
//import baidumapsdk.demo.DemoApplication;
|
|
//import baidumapsdk.demo.DemoApplication;
|
|
|
//import baidumapsdk.demo.DemoApplication.MyGeneralListener;
|
|
//import baidumapsdk.demo.DemoApplication.MyGeneralListener;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-
|
|
|
|
|
-import org.json.JSONException;
|
|
|
|
|
-import org.json.JSONObject;
|
|
|
|
|
-
|
|
|
|
|
-//import baidumapsdk.demo.R;
|
|
|
|
|
-
|
|
|
|
|
|
|
+import android.Manifest;
|
|
|
|
|
+import android.content.Context;
|
|
|
|
|
+import android.content.Intent;
|
|
|
|
|
+import android.content.pm.PackageManager;
|
|
|
|
|
+import android.os.AsyncTask;
|
|
|
|
|
+import android.os.Bundle;
|
|
|
|
|
+import android.support.v4.app.ActivityCompat;
|
|
|
|
|
+import android.support.v4.app.Fragment;
|
|
|
|
|
+import android.support.v4.app.FragmentManager;
|
|
|
|
|
+import android.util.Log;
|
|
|
|
|
+import android.view.Gravity;
|
|
|
|
|
+import android.view.LayoutInflater;
|
|
|
|
|
+import android.view.View;
|
|
|
|
|
+import android.view.ViewGroup;
|
|
|
|
|
+import android.widget.TextView;
|
|
|
|
|
+import android.widget.Toast;
|
|
|
|
|
|
|
|
import com.baidu.location.BDLocation;
|
|
import com.baidu.location.BDLocation;
|
|
|
import com.baidu.location.BDLocationListener;
|
|
import com.baidu.location.BDLocationListener;
|
|
@@ -21,51 +29,39 @@ import com.baidu.location.LocationClientOption;
|
|
|
import com.baidu.mapapi.BMapManager;
|
|
import com.baidu.mapapi.BMapManager;
|
|
|
import com.baidu.mapapi.SDKInitializer;
|
|
import com.baidu.mapapi.SDKInitializer;
|
|
|
import com.baidu.mapapi.map.BaiduMap.OnMapClickListener;
|
|
import com.baidu.mapapi.map.BaiduMap.OnMapClickListener;
|
|
|
|
|
+import com.baidu.mapapi.map.BaiduMap.OnMarkerClickListener;
|
|
|
import com.baidu.mapapi.map.BitmapDescriptor;
|
|
import com.baidu.mapapi.map.BitmapDescriptor;
|
|
|
import com.baidu.mapapi.map.BitmapDescriptorFactory;
|
|
import com.baidu.mapapi.map.BitmapDescriptorFactory;
|
|
|
import com.baidu.mapapi.map.InfoWindow;
|
|
import com.baidu.mapapi.map.InfoWindow;
|
|
|
|
|
+import com.baidu.mapapi.map.InfoWindow.OnInfoWindowClickListener;
|
|
|
import com.baidu.mapapi.map.MapPoi;
|
|
import com.baidu.mapapi.map.MapPoi;
|
|
|
import com.baidu.mapapi.map.MapStatusUpdate;
|
|
import com.baidu.mapapi.map.MapStatusUpdate;
|
|
|
import com.baidu.mapapi.map.MapStatusUpdateFactory;
|
|
import com.baidu.mapapi.map.MapStatusUpdateFactory;
|
|
|
-//import com.baidu.mapapi.MKGeneralListener;
|
|
|
|
|
-//import com.baidu.mapapi.map.ItemizedOverlay;
|
|
|
|
|
-//import com.baidu.mapapi.map.MKEvent;
|
|
|
|
|
-//import com.baidu.mapapi.map.MapController;
|
|
|
|
|
import com.baidu.mapapi.map.MapView;
|
|
import com.baidu.mapapi.map.MapView;
|
|
|
import com.baidu.mapapi.map.Marker;
|
|
import com.baidu.mapapi.map.Marker;
|
|
|
import com.baidu.mapapi.map.MarkerOptions;
|
|
import com.baidu.mapapi.map.MarkerOptions;
|
|
|
-//import com.baidu.mapapi.map.OverlayItem;
|
|
|
|
|
-//import com.baidu.mapapi.map.PopupClickListener;
|
|
|
|
|
-//import com.baidu.mapapi.map.PopupOverlay;
|
|
|
|
|
import com.baidu.mapapi.map.MyLocationData;
|
|
import com.baidu.mapapi.map.MyLocationData;
|
|
|
import com.baidu.mapapi.map.SupportMapFragment;
|
|
import com.baidu.mapapi.map.SupportMapFragment;
|
|
|
-import com.baidu.mapapi.map.BaiduMap.OnMarkerClickListener;
|
|
|
|
|
-import com.baidu.mapapi.map.InfoWindow.OnInfoWindowClickListener;
|
|
|
|
|
import com.baidu.mapapi.model.LatLng;
|
|
import com.baidu.mapapi.model.LatLng;
|
|
|
-//import com.baidu.platform.comapi.basestruct.GeoPoint;
|
|
|
|
|
|
|
+import com.usai.redant.rautils.location.GeoUtils;
|
|
|
|
|
+import com.usai.redant.rautils.utils.FileManager;
|
|
|
import com.usai.util.Network;
|
|
import com.usai.util.Network;
|
|
|
|
|
|
|
|
-import android.Manifest;
|
|
|
|
|
-import android.content.Context;
|
|
|
|
|
-import android.content.Intent;
|
|
|
|
|
-import android.content.pm.PackageManager;
|
|
|
|
|
-import android.graphics.Bitmap;
|
|
|
|
|
-import android.graphics.drawable.Drawable;
|
|
|
|
|
-import android.location.LocationListener;
|
|
|
|
|
-import android.os.AsyncTask;
|
|
|
|
|
-import android.os.Bundle;
|
|
|
|
|
-import android.support.v4.app.ActivityCompat;
|
|
|
|
|
-import android.support.v4.app.Fragment;
|
|
|
|
|
-import android.support.v4.app.FragmentManager;
|
|
|
|
|
-import android.util.Log;
|
|
|
|
|
-import android.view.Gravity;
|
|
|
|
|
-import android.view.LayoutInflater;
|
|
|
|
|
-import android.view.View;
|
|
|
|
|
-import android.view.ViewGroup;
|
|
|
|
|
-import android.view.View.OnClickListener;
|
|
|
|
|
-import android.widget.Button;
|
|
|
|
|
-import android.widget.TextView;
|
|
|
|
|
-import android.widget.Toast;
|
|
|
|
|
|
|
+import org.json.JSONException;
|
|
|
|
|
+import org.json.JSONObject;
|
|
|
|
|
+
|
|
|
|
|
+import java.io.File;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
|
+
|
|
|
|
|
+//import baidumapsdk.demo.R;
|
|
|
|
|
+//import com.baidu.mapapi.MKGeneralListener;
|
|
|
|
|
+//import com.baidu.mapapi.map.ItemizedOverlay;
|
|
|
|
|
+//import com.baidu.mapapi.map.MKEvent;
|
|
|
|
|
+//import com.baidu.mapapi.map.MapController;
|
|
|
|
|
+//import com.baidu.mapapi.map.OverlayItem;
|
|
|
|
|
+//import com.baidu.mapapi.map.PopupClickListener;
|
|
|
|
|
+//import com.baidu.mapapi.map.PopupOverlay;
|
|
|
|
|
+//import com.baidu.platform.comapi.basestruct.GeoPoint;
|
|
|
|
|
|
|
|
public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
{
|
|
{
|
|
@@ -121,6 +117,8 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
if (mMapView == null)
|
|
if (mMapView == null)
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+ mMapView.getMap().clear();
|
|
|
|
|
+// mMapView.getMap()
|
|
|
|
|
|
|
|
try
|
|
try
|
|
|
{
|
|
{
|
|
@@ -148,6 +146,10 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
String fax = objrec.getString("fax");
|
|
String fax = objrec.getString("fax");
|
|
|
String contact = objrec.getString("contact");
|
|
String contact = objrec.getString("contact");
|
|
|
String email = objrec.getString("email");
|
|
String email = objrec.getString("email");
|
|
|
|
|
+ String sbmap_china = objrec.getString("bmap_china");
|
|
|
|
|
+ boolean bmap_china = false;
|
|
|
|
|
+ if(sbmap_china.equals("t"))
|
|
|
|
|
+ bmap_china = true;
|
|
|
|
|
|
|
|
LocationDetail detail = new LocationDetail(company, address,
|
|
LocationDetail detail = new LocationDetail(company, address,
|
|
|
telephone, fax, contact, email);
|
|
telephone, fax, contact, email);
|
|
@@ -170,8 +172,26 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
// // * 将item 添加到overlay中 注意: 同一个itme只能add一次
|
|
// // * 将item 添加到overlay中 注意: 同一个itme只能add一次
|
|
|
// //
|
|
// //
|
|
|
// mOverlay.addItem(item1);
|
|
// mOverlay.addItem(item1);
|
|
|
- LatLng llA = new LatLng(Double.parseDouble(latitude),
|
|
|
|
|
- Double.parseDouble(longitude));
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ double dlatitude=Double.parseDouble(latitude);
|
|
|
|
|
+ double dlongitude=Double
|
|
|
|
|
+ .parseDouble(longitude);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // String able= getResources().getConfiguration().locale.getCountry();
|
|
|
|
|
+ if (bmap_china)
|
|
|
|
|
+ {
|
|
|
|
|
+ Log.d("service location", "cn 变形: "+area);
|
|
|
|
|
+// Log.d("service location", "cn 变形前: "+dlatitude+","+dlongitude);
|
|
|
|
|
+ double bd[] = GeoUtils.wgs84tobd09(dlongitude,dlatitude);
|
|
|
|
|
+ dlongitude = bd[0];
|
|
|
|
|
+ dlatitude = bd[1];
|
|
|
|
|
+// Log.d("service location", "cn 变形: "+dlatitude+","+dlongitude);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ LatLng llA = new LatLng(dlatitude,
|
|
|
|
|
+ dlongitude);
|
|
|
|
|
|
|
|
MarkerOptions markeroption = new MarkerOptions().position(llA)
|
|
MarkerOptions markeroption = new MarkerOptions().position(llA)
|
|
|
.icon(icon).zIndex(9).title(company)
|
|
.icon(icon).zIndex(9).title(company)
|
|
@@ -237,15 +257,15 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (fragment_content != null)
|
|
|
|
|
- {
|
|
|
|
|
- // LayoutInflater inflater = (LayoutInflater)
|
|
|
|
|
- // ApexTrackingApplication
|
|
|
|
|
- // .get_instance().getSystemService(
|
|
|
|
|
- // Context.LAYOUT_INFLATER_SERVICE);
|
|
|
|
|
- // init(fragment_content,inflater);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// if (fragment_content != null)
|
|
|
|
|
+// {
|
|
|
|
|
+// // LayoutInflater inflater = (LayoutInflater)
|
|
|
|
|
+// // ApexTrackingApplication
|
|
|
|
|
+// // .get_instance().getSystemService(
|
|
|
|
|
+// // Context.LAYOUT_INFLATER_SERVICE);
|
|
|
|
|
+// // init(fragment_content,inflater);
|
|
|
|
|
+// return;
|
|
|
|
|
+// }
|
|
|
// mStatusMessageView.setText(R.string.str_Loading);
|
|
// mStatusMessageView.setText(R.string.str_Loading);
|
|
|
// showProgress(true);
|
|
// showProgress(true);
|
|
|
m_task = new SearchTask();
|
|
m_task = new SearchTask();
|
|
@@ -627,6 +647,23 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
fm.beginTransaction().replace(R.id.map, fragment).commit();
|
|
fm.beginTransaction().replace(R.id.map, fragment).commit();
|
|
|
}
|
|
}
|
|
|
mMapView = fragment.getMapView();
|
|
mMapView = fragment.getMapView();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // location cache
|
|
|
|
|
+ String path=FileManager.internalStorageFileDir(ApexTrackingApplication.get_instance().getApplicationContext())+ File.separator + "service_location.json";
|
|
|
|
|
+ String jstr = FileManager.readJson(path);
|
|
|
|
|
+ JSONObject cachejson=handleJson(jstr);
|
|
|
|
|
+ if(cachejson!=null)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ cachejson.put("iscache",true);
|
|
|
|
|
+ } catch (JSONException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ this.fragment_content = jstr;
|
|
|
|
|
+ }
|
|
|
|
|
+ AddMarker();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -637,12 +674,35 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
|
|
|
// return super.onCreateView(inflater, container, savedInstanceState);
|
|
// return super.onCreateView(inflater, container, savedInstanceState);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
requestloactions();
|
|
requestloactions();
|
|
|
|
|
|
|
|
return inflater.inflate(R.layout.fragment_service_location, container,
|
|
return inflater.inflate(R.layout.fragment_service_location, container,
|
|
|
false);
|
|
false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private static JSONObject handleJson(String jsonStr) {
|
|
|
|
|
+
|
|
|
|
|
+ if (jsonStr == null || jsonStr.isEmpty()) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ JSONObject json = new JSONObject(jsonStr);
|
|
|
|
|
+ String msg = json.optString("msg");
|
|
|
|
|
+ if (msg != null) {
|
|
|
|
|
+ json.put("err_msg",msg);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return json;
|
|
|
|
|
+ } catch (JSONException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void onResume()
|
|
public void onResume()
|
|
|
{
|
|
{
|