Bladeren bron

1.修改Android Apex Drivers Detail地图按钮点击。

Pen Li 7 jaren geleden
bovenliggende
commit
6c40863dc7

+ 18 - 1
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/detail/DetailActivity.java

@@ -34,6 +34,7 @@ import com.usai.redant.apexdrivers.ApexDriverApplication;
 import com.usai.redant.apexdrivers.base.BasicActivity;
 import com.usai.redant.apexdrivers.detail.model.DetailActionSelectionModel;
 import com.usai.redant.apexdrivers.detail.model.DetailLocationModel;
+import com.usai.redant.apexdrivers.detail.model.DetailMapModel;
 import com.usai.redant.apexdrivers.detail.model.DetailSubActionModel;
 import com.usai.redant.apexdrivers.home.HomeFragment;
 import com.usai.redant.apexdrivers.MainActivity;
@@ -447,7 +448,23 @@ public class DetailActivity extends BasicActivity implements DetailAdapter.Detai
 
     }
 
-    private void handleAction(View view,DetailSubActionModel actionModel) {
+    @Override
+    public void showMap(DetailMapModel model) {
+        if (model != null && !TextUtils.isEmpty(model.getLat()) && !TextUtils.isEmpty(model.getLon())) {
+
+            Uri gmmIntentUri = Uri.parse("geo:" + model.getLat() + "," + model.getLon() + "?mode=d");
+            Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
+            mapIntent.setPackage("com.google.android.apps.maps");
+            if (mapIntent.resolveActivity(getPackageManager()) != null) {
+                startActivity(mapIntent);
+            } else {
+                Toast.makeText(mCtx,"There is no google map",Toast.LENGTH_LONG).show();
+            }
+
+        }
+    }
+
+    private void handleAction(View view, DetailSubActionModel actionModel) {
 
         switch (actionModel.actionType) {
             case DetailSubActionModel.DetailActionType.DetailActionTypeLocal: {

+ 4 - 0
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/detail/DetailAdapter.java

@@ -500,6 +500,9 @@ public class DetailAdapter extends BaseExpandableListAdapter {
                 @Override
                 public void onClick(View v) {
 
+                    if (mDelegate != null && mDelegate.get() != null) {
+                        mDelegate.get().showMap(weakMap.get());
+                    }
                 }
             });
 
@@ -679,5 +682,6 @@ public class DetailAdapter extends BaseExpandableListAdapter {
 
         void performAction(View view,DetailSubActionModel actionModel);
         void navigationTo(DetailLocationModel locationModel);
+        void showMap(DetailMapModel model);
     }
 }