Selaa lähdekoodia

APEX Mobile 2.70.190412 修复service location 位置,地图中心位置,增加访问日志等

Ray Zhang 7 vuotta sitten
vanhempi
commit
1bc39dd867
23 muutettua tiedostoa jossa 274 lisäystä ja 105 poistoa
  1. 2 2
      ApexDrivers/apexmobile/build.gradle
  2. 3 3
      ApexDrivers/apexmobile/proguard-project.txt
  3. 18 18
      ApexDrivers/apexmobile/src/main/AndroidManifest.xml
  4. 110 50
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/BaiduMapFragment.java
  5. 4 1
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/DetailFragment.java
  6. 23 9
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/ServiceLocationFragment.java
  7. 2 2
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/TestActivity.java
  8. 23 1
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/apexresult/ApexResultActivity.java
  9. 1 1
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/LoginFragment.java
  10. 7 4
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/NewDetailActivity.java
  11. 10 1
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/RecentFragment.java
  12. 15 6
      ApexDrivers/apexmobile/src/main/java/com/usai/apex/shipmap/ShipMap.java
  13. 56 7
      ApexDrivers/apexmobile/src/main/java/com/usai/util/Network.java
  14. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-hdpi/new_location_pod.png
  15. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-hdpi/new_location_pol.png
  16. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-ldpi/new_location_pod.png
  17. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-ldpi/new_location_pol.png
  18. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-mdpi/new_location_pod.png
  19. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-mdpi/new_location_pol.png
  20. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-xhdpi/new_location_pod.png
  21. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-xhdpi/new_location_pol.png
  22. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-xxhdpi/new_location_pod.png
  23. BIN
      ApexDrivers/apexmobile/src/main/res/drawable-xxhdpi/new_location_pol.png

+ 2 - 2
ApexDrivers/apexmobile/build.gradle

@@ -19,8 +19,8 @@ android {
         applicationId "com.usai.apex"
         minSdkVersion 23
         targetSdkVersion 26
-        versionCode 18
-        versionName "A190316"
+        versionCode 20
+        versionName "A190402"
 
 //        multiDexEnabled true
 

+ 3 - 3
ApexDrivers/apexmobile/proguard-project.txt

@@ -66,9 +66,9 @@
 -optimizations code/removal/simple,code/removal/advanced
 -dontobfuscate
 -assumenosideeffects class android.util.Log {
-    public static *** d(...);
-    public static *** v(...);
-    public static *** i(...);
+#    public static *** d(...);
+#    public static *** v(...);
+#    public static *** i(...);
 }
 
 

+ 18 - 18
ApexDrivers/apexmobile/src/main/AndroidManifest.xml

@@ -112,28 +112,28 @@
         </provider>
 
         <!-- release key -->
-        <meta-data
-            android:name="com.google.android.maps.v2.API_KEY"
-            android:value="AIzaSyDdbk58Lx6QzaXcB_hNpSHVp3l_CJeNpoo"/>
-        <meta-data
-            android:name="com.baidu.lbsapi.API_KEY"
-            android:value="nqBQoSDbxrslhuzW91uViQX7"/>
-        <meta-data
-            android:name="com.google.android.gms.version"
-            android:value="@integer/google_play_services_version"/>
+        <!--<meta-data-->
+            <!--android:name="com.google.android.maps.v2.API_KEY"-->
+            <!--android:value="AIzaSyDdbk58Lx6QzaXcB_hNpSHVp3l_CJeNpoo"/>-->
+        <!--<meta-data-->
+            <!--android:name="com.baidu.lbsapi.API_KEY"-->
+            <!--android:value="nqBQoSDbxrslhuzW91uViQX7"/>-->
+        <!--<meta-data-->
+            <!--android:name="com.google.android.gms.version"-->
+            <!--android:value="@integer/google_play_services_version"/>-->
 
         <!-- debug key -->
 
 
-         <!--<meta-data-->
-         <!--android:name="com.google.android.maps.v2.API_KEY"-->
-         <!--android:value="AIzaSyD6Snyg2SDUGtkC3sOAr979__IDCZnGGuU" />-->
-         <!--<meta-data-->
-         <!--android:name="com.baidu.lbsapi.API_KEY"-->
-         <!--android:value="tznWFxd3RvSoul1TGQp6GSzo" />-->
-         <!--<meta-data-->
-         <!--android:name="com.google.android.gms.version"-->
-         <!--android:value="@integer/google_play_services_version" />-->
+         <meta-data
+         android:name="com.google.android.maps.v2.API_KEY"
+         android:value="AIzaSyD6Snyg2SDUGtkC3sOAr979__IDCZnGGuU" />
+         <meta-data
+         android:name="com.baidu.lbsapi.API_KEY"
+         android:value="tznWFxd3RvSoul1TGQp6GSzo" />
+         <meta-data
+         android:name="com.google.android.gms.version"
+         android:value="@integer/google_play_services_version" />
 
         <activity
             android:name=".DetailActivity"

+ 110 - 50
ApexDrivers/apexmobile/src/main/java/com/usai/apex/BaiduMapFragment.java

@@ -5,14 +5,22 @@ package com.usai.apex;
 //import baidumapsdk.demo.DemoApplication;
 //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.BDLocationListener;
@@ -21,51 +29,39 @@ import com.baidu.location.LocationClientOption;
 import com.baidu.mapapi.BMapManager;
 import com.baidu.mapapi.SDKInitializer;
 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.BitmapDescriptorFactory;
 import com.baidu.mapapi.map.InfoWindow;
+import com.baidu.mapapi.map.InfoWindow.OnInfoWindowClickListener;
 import com.baidu.mapapi.map.MapPoi;
 import com.baidu.mapapi.map.MapStatusUpdate;
 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.Marker;
 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.SupportMapFragment;
-import com.baidu.mapapi.map.BaiduMap.OnMarkerClickListener;
-import com.baidu.mapapi.map.InfoWindow.OnInfoWindowClickListener;
 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 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
 {
@@ -121,6 +117,8 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 			if (mMapView == null)
 				return;
 		}
+        mMapView.getMap().clear();
+//		mMapView.getMap()
 
 		try
 		{
@@ -148,6 +146,10 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 				String fax = objrec.getString("fax");
 				String contact = objrec.getString("contact");
 				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,
 						telephone, fax, contact, email);
@@ -170,8 +172,26 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 				// // * 将item 添加到overlay中 注意: 同一个itme只能add一次
 				// //
 				// 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)
 						.icon(icon).zIndex(9).title(company)
@@ -237,15 +257,15 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 			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);
 		// showProgress(true);
 		m_task = new SearchTask();
@@ -627,6 +647,23 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 			fm.beginTransaction().replace(R.id.map, fragment).commit();
 		}
 		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
@@ -637,12 +674,35 @@ public class BaiduMapFragment extends Fragment implements BDLocationListener
 		// return super.onCreateView(inflater, container, savedInstanceState);
 				
 
+
+
+
 		requestloactions();
 
 		return inflater.inflate(R.layout.fragment_service_location, container,
 				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
 	public void onResume()
 	{

+ 4 - 1
ApexDrivers/apexmobile/src/main/java/com/usai/apex/DetailFragment.java

@@ -505,7 +505,10 @@ public class DetailFragment extends Fragment implements OnClickListener, ShipMap
 		}
 
 		if (mTrackingMap != null && location != null) {
-			mTrackingMap.showShipAnnotation(location);
+
+			String backup_port=this.mContent.optString("backup_port");
+
+			mTrackingMap.showShipAnnotation(location,backup_port);
 		}
 
 	}

+ 23 - 9
ApexDrivers/apexmobile/src/main/java/com/usai/apex/ServiceLocationFragment.java

@@ -8,20 +8,14 @@ package com.usai.apex;
 //import com.google.android.gms.maps.model.MarkerOptions;
 
 import android.Manifest;
-import android.app.AlertDialog;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.database.Cursor;
 import android.location.Location;
 import android.location.LocationListener;
 import android.location.LocationManager;
-import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
-import android.provider.ContactsContract;
 import android.support.v4.app.ActivityCompat;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
@@ -50,7 +44,6 @@ import com.usai.util.Network;
 import org.json.JSONException;
 import org.json.JSONObject;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 
 //import android.app.Fragment;
@@ -137,6 +130,28 @@ public class ServiceLocationFragment extends Fragment implements
 //				String fax = parts[i + 5];
 //				String contact = parts[i + 6];
 //				String email = parts[i + 7];
+				double dlatitude=Double.parseDouble(latitude);
+				double dlongitude=Double
+						.parseDouble(longitude);
+
+
+//				String able= getResources().getConfiguration().locale.getCountry();
+//				if (able.equals("CN")&&(area.toLowerCase().equals("southern china")||area.toLowerCase().equals("northern china")||area.toLowerCase().equals("eastern china")||area.toLowerCase().equals("taiwan")))
+//				{
+//                    Log.d("service location", "cn 变形: ");
+//
+//					double bd[] = GeoUtils.wgs84togcj02(dlongitude,dlatitude);
+//					dlatitude = bd[0];
+//                    dlongitude = bd[0];
+//
+//				}
+//				else
+//				{
+//					dlatitude=Double.parseDouble(latitude);
+//					dlongitude=Double
+//							.parseDouble(longitude);
+//				}
+
 				LocationDetail detail = new LocationDetail(company, address,
 						telephone, fax, contact, email);
 				// detail.Name=markertext;
@@ -156,8 +171,7 @@ public class ServiceLocationFragment extends Fragment implements
 						.icon(BitmapDescriptorFactory
 								.fromResource(R.drawable.ic_marker))
 						.position(
-								new LatLng(Double.parseDouble(latitude), Double
-										.parseDouble(longitude))).title(company)
+								new LatLng(dlatitude, dlongitude)).title(company)
 						.snippet(city + "\n" + area));
 
 			}

+ 2 - 2
ApexDrivers/apexmobile/src/main/java/com/usai/apex/TestActivity.java

@@ -7,7 +7,7 @@ import com.usai.apex.shipmap.ShipMap;
 
 import org.json.JSONException;
 import org.json.JSONObject;
-
+@Deprecated
 public class TestActivity extends AppCompatActivity {
 
     @Override
@@ -62,7 +62,7 @@ public class TestActivity extends AppCompatActivity {
 
         try {
             JSONObject j = new JSONObject(test);
-            shipMap.showShipAnnotation(j.getJSONObject("locations"));
+            shipMap.showShipAnnotation(j.getJSONObject("locations"),"");
 
         } catch (JSONException e) {
             e.printStackTrace();

+ 23 - 1
ApexDrivers/apexmobile/src/main/java/com/usai/apex/apexresult/ApexResultActivity.java

@@ -226,6 +226,7 @@ public class ApexResultActivity extends AppCompatActivity implements ApexResultP
     }
 
     private void refresh() {
+        isNoMore = false;
         mPresenter.refreshData();
     }
 
@@ -253,7 +254,14 @@ public class ApexResultActivity extends AppCompatActivity implements ApexResultP
     // endregion
 
     // region Alert
+    private void showMessage(String msg) {
 
+        new AlertDialog.Builder(mCtx)
+                .setTitle("Message")
+                .setMessage(msg)
+                .setPositiveButton("OK",null)
+                .show();
+    }
     private void showAlertMessage(String msg) {
         new AlertDialog.Builder(mCtx)
                 .setTitle("Warning")
@@ -298,7 +306,12 @@ public class ApexResultActivity extends AppCompatActivity implements ApexResultP
 
     @Override
     public void onNoMoreData() {
-        showAlertMessage("No More Data");
+        if(isNoMore) //首次nomore 不提示,当拖到底部再次刷新才提示
+            showMessage("No More Data");
+        isNoMore = true;
+        mListFooterView.setText("No more data");
+        mListFooterView.setVisibility(View.VISIBLE);
+//
     }
 
     @Override
@@ -419,12 +432,21 @@ public class ApexResultActivity extends AppCompatActivity implements ApexResultP
     // region Scroll Listener
 
     private boolean isLoading = false;
+    private  boolean isNoMore = false;
     private class ScrollListener implements AbsListView.OnScrollListener {
 
         private int last_index, total_index;
 
         @Override
         public void onScrollStateChanged(AbsListView view, int scrollState) {
+//            if(isNoMore&& (scrollState == SCROLL_STATE_IDLE))
+//            {
+//                showMessage("No more data.");
+//                // no more 只提示一次
+////                isNoMore = false;
+////                return;
+//            }
+
             if (last_index == total_index && (scrollState == SCROLL_STATE_IDLE)) {
                 if (!isLoading) {
 

+ 1 - 1
ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/LoginFragment.java

@@ -78,7 +78,7 @@ public class LoginFragment extends Fragment/* implements OnClickListener */
 		View view = inflater.inflate(R.layout.fragment_login, null);
 		TextView tv_ver = (TextView) view.findViewById(R.id.tv_ver);
 		try {
-			tv_ver.setText(getText(R.string.str_ver)+"2.66 "+ApexTrackingApplication.get_instance().getPackageManager().getPackageInfo(
+			tv_ver.setText(getText(R.string.str_ver)+Network.SHORT_VER+ApexTrackingApplication.get_instance().getPackageManager().getPackageInfo(
 						"com.usai.apex", 0).versionName);
 		} catch (NameNotFoundException e1) {
 			// TODO Auto-generated catch block

+ 7 - 4
ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/NewDetailActivity.java

@@ -25,8 +25,8 @@ import android.widget.TextView;
 import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.DetailFragment;
 import com.usai.apex.R;
-import com.usai.apex.result.AMResultActivity;
 import com.usai.apex.ViewPagerAdapter;
+import com.usai.apex.apexresult.ApexResultActivity;
 import com.usai.util.commonUtil;
 import com.usai.util.dbUtil;
 
@@ -198,9 +198,12 @@ public class NewDetailActivity extends AppCompatActivity {
                         Bundle parms = new Bundle();
                         parms.putString("bol",hbol);
                         parms.putString("module_name","Download Document");
-                        Intent resultIntent = new Intent(this, AMResultActivity.class);
-                        resultIntent.putExtra("query_params",parms);
-                        startActivity(resultIntent);
+//                        Intent resultIntent = new Intent(this, AMResultActivity.class);
+//                        resultIntent.putExtra("query_params",parms);
+//                        startActivity(resultIntent);
+
+
+                        ApexResultActivity.startResultActivity(this, parms);
 
                     } else {
                         showAlter("There is no hbol to search");

+ 10 - 1
ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/RecentFragment.java

@@ -419,7 +419,16 @@ if(TextUtils.isEmpty(serial_no))
             JSONObject locations = (JSONObject) item.get("locations");
             ShipMap shipMap = getShipMap();
             if (shipMap != null) {
-                shipMap.showShipAnnotation(locations);
+
+                String port = "";
+                if((boolean)item.get("location_eta"))
+                    port="pod";
+                else
+                if((boolean)item.get("location_etd"))
+                    port="pol";
+
+
+                shipMap.showShipAnnotation(locations,port);
             }
         }
     }

+ 15 - 6
ApexDrivers/apexmobile/src/main/java/com/usai/apex/shipmap/ShipMap.java

@@ -212,8 +212,9 @@ public class ShipMap extends RelativeLayout implements GoogleMap.OnMarkerClickLi
     private JSONObject mAnnotation;
 
     private Marker mCurrentBaiduMarker;
+    private String backup_port="";
     private com.google.android.gms.maps.model.Marker mCurrentGoogleMarker;
-    public void showShipAnnotation(JSONObject annotation) {
+    public void showShipAnnotation(JSONObject annotation,String backup_port) {
         if (annotation == null) {
             return;
         }
@@ -222,13 +223,18 @@ public class ShipMap extends RelativeLayout implements GoogleMap.OnMarkerClickLi
         mCurrentBaiduMarker = null;
 
         if (mUseGoogleMap) {
-           if (mGoogleMap != null) {
+           if (mGoogleMap != null)
+           {
                mGoogleMap.clear();
+               this.backup_port = "";
            } else {
                mAnnotation = annotation;
+               this.backup_port =backup_port;
                return;
            }
-        } else {
+        } else
+        {
+            this.backup_port = "";
             mBaiduMap.getMap().clear();
         }
         mAnnotation = null;
@@ -329,9 +335,11 @@ public class ShipMap extends RelativeLayout implements GoogleMap.OnMarkerClickLi
             if (mTwinkleCurrent) {
                 startTwinkle();
             }
-        } else if (pol != null && showPol()) {
+        } else if (backup_port.equals("pol")&& pol != null && showPol()) {
+            this.backup_port = backup_port;
             moveToLocation(pol);
-        } else if (pod != null && showPod()) {
+        } else if (backup_port.equals("pod")&&pod != null && showPod()) {
+            this.backup_port = backup_port;
             moveToLocation(pod);
         }
 
@@ -607,7 +615,8 @@ public class ShipMap extends RelativeLayout implements GoogleMap.OnMarkerClickLi
             mGoogleMap.setOnMarkerClickListener(this);
             mGoogleMap.setOnInfoWindowClickListener(this);
             if (mAnnotation != null) {
-                showShipAnnotation(mAnnotation);
+                String port =backup_port;
+                showShipAnnotation(mAnnotation,port);
             }
             mGoogleMap.getUiSettings().setMapToolbarEnabled(false); // 隐藏底部ToolBar 导航按钮
             mGoogleMap.getUiSettings().setRotateGesturesEnabled(false); // 禁止旋转

+ 56 - 7
ApexDrivers/apexmobile/src/main/java/com/usai/util/Network.java

@@ -13,6 +13,7 @@ import android.text.TextUtils;
 import android.util.Log;
 
 import com.usai.apex.ApexTrackingApplication;
+import com.usai.redant.rautils.utils.FileManager;
 
 import org.apache.http.conn.ssl.SSLSocketFactory;
 import org.json.JSONArray;
@@ -36,11 +37,14 @@ import javax.net.ssl.X509TrustManager;
 
 public class Network
 {
+	public static final String SHORT_VER ="2.70";
+
 	public static final int		BEHAVIOR_SEARCH					= 0;
 	public static final int		BEHAVIOR_RESULT					= 1;
 
 	private static final int	REQUEST_TIMEOUT					= 30 * 1000;										// request
 																													// time
+
 																													// out
 																													// 20
 																													// secs
@@ -79,7 +83,7 @@ public class Network
 	public static String		URL_RETRIEVE_PASS				= "https://ra.apexshipping.com/main_new_26.php";
 	public static String		URL_ANNOUNCEMENTS				= "https://ra.apexshipping.com/mobile_news.php";
 	public static String		URL_NEWS						= "https://ra.apexshipping.com/mobile_news.php";
-	public static String		URL_LOCATIONS					= "https://ra.apexshipping.com/mobile_news.php";
+	public static String		URL_LOCATIONS					= "https://ra.apexshipping.com/mobile_news26.php";
 	public static String		URL_PUSH						= "https://ra.apexshipping.com/main_new_26.php";
 	public static String		URL_LOG							= "https://ra.apexshipping.com/mobile_news.php";
 	public static String		URL_SEND_COMM_EMAIL				= "https://ra.apexshipping.com/main_new_26.php";
@@ -91,8 +95,8 @@ public class Network
 	public static String		URL_SAVE_RESULT					= "https://ra.apexshipping.com/main_new_26.php";
 
 
-//
-////
+
+
 //////debug
 //	public static String		URL_HOME						= "http://192.168.0.138:8899/main_new_26.php";
 //	public static String		URL_HISTORY						= "http://192.168.0.138:8899/main_new_26.php";
@@ -101,11 +105,11 @@ public class Network
 //	public static String		URL_REQUEST_COUNT				= "http://192.168.0.138:8899/main_new_26.php";
 //	public static String		URL_REQUEST_RECORDS				= "http://192.168.0.138:8899/main_new_26.php";
 //	public static String		URL_RETRIEVE_PASS				= "http://192.168.0.138:8899/main_new_26.php";
-//	public static String		URL_ANNOUNCEMENTS				= "https://ra.apexshipping.com/mobile_news.php";
-//	public static String		URL_NEWS						= "https://ra.apexshipping.com/mobile_news.php";
-//	public static String		URL_LOCATIONS					= "https://ra.apexshipping.com/mobile_news.php";
+//	public static String		URL_ANNOUNCEMENTS				= "http://192.168.0.138:8899/mobile_news.php";
+//	public static String		URL_NEWS						= "http://192.168.0.138:8899/mobile_news.php";
+//	public static String		URL_LOCATIONS					= "http://192.168.0.138:8899/mobile_news26.php";
 //	public static String		URL_PUSH						= "http://192.168.0.138:8899/main_new_26.php";
-//	public static String		URL_LOG							= "https://ra.apexshipping.com/mobile_news.php";
+//	public static String		URL_LOG							= "http://192.168.0.138:8899/mobile_news.php";
 //	public static String		URL_SEND_COMM_EMAIL				= "http://192.168.0.138:8899/main_new_26.php";
 //	public static String		URL_CHECK_UPDATE				= "http://192.168.0.138:8899/main_new_26.php";
 //
@@ -140,7 +144,25 @@ public class Network
 		return jstr;
 
 	}
+	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;
+		}
+	}
 	public static String get_servicelocation()
 	{
 
@@ -159,10 +181,34 @@ public class Network
 		{
 			return null;
 		}
+
+
+
+
+
+		JSONObject json = handleJson(jstr);
+
+
+
+
+//		String user = ApexDriverApplication.sharedApplication().user;
+		String path=FileManager.internalStorageFileDir(ApexTrackingApplication.get_instance().getApplicationContext())+ File.separator + "service_location.json";
+
+		if(json!=null&& json.optInt("result")!=RESULT_NET_ERROR&& json.optInt("result")!=RESULT_NET_NOTAVAILABLE)
+		{
+			FileManager.writeJson(jstr,path);
+//			return jstr;
+		}
+
+
+
 		return jstr;
 
 	}
 
+
+
+
 	public static String get_announcements(String id, int limit)
 	{
 
@@ -323,6 +369,9 @@ public class Network
 			params.putString("pwd",pwd);
 		}
 
+		params.putString("os","Android");
+		params.putString("app_short_ver",SHORT_VER);
+
 	}
 
 	public static String getJson(String url, Bundle parms)

BIN
ApexDrivers/apexmobile/src/main/res/drawable-hdpi/new_location_pod.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-hdpi/new_location_pol.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-ldpi/new_location_pod.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-ldpi/new_location_pol.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-mdpi/new_location_pod.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-mdpi/new_location_pol.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-xhdpi/new_location_pod.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-xhdpi/new_location_pol.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-xxhdpi/new_location_pod.png


BIN
ApexDrivers/apexmobile/src/main/res/drawable-xxhdpi/new_location_pol.png