How to retrieve snapshot of map from place-picker activity?

后端 未结 5 896
时光说笑
时光说笑 2020-12-05 18:04

I\'m creating an app which picks places from the Google maps and stores the address in the database. I also want to store the snapshot of the picked place in the storage, so

5条回答
  •  天涯浪人
    2020-12-05 18:28

    You might look into maps Lite. It uses the google maps api and map views, but treats each one similar to an image rather than an interactive map. You can still choose your zoom level and add markers to the map.

    declare the map in your xml like you would a regular google map fragment but include the tag map:liteMode="true"

    
    

    or if you're creating the map programmatically you can use

    GoogleMapOptions options = new GoogleMapOptions().liteMode(true);
    

    it looks from your Activity code like you know how set up a google map, so you can then modify your onActivityResult to look like this

    protected void onActivityResult(int requestCode,
                                int resultCode, Intent data) {
    
    if (requestCode == PLACE_PICKER_REQUEST
            && resultCode == Activity.RESULT_OK) {
    
        final Place place = PlacePicker.getPlace(this, data);
        final CharSequence name = place.getName();
        final CharSequence address = place.getAddress();
    
        String attributions = (String) place.getAttributions();
        if (attributions == null) {
            attributions = "";
        }
    
        tv4.setText(place.getLatLng().toString()+"\n"+name+"\n"+address+"\n"+attributions);
    
        // Add this line to make the lite map show the location you just chose
        // and set the zoom level (10f is arbitrary)
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(place.getLatLng(), 10f));
    
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    }
    }
    

    More information and citations:

    You can start here if you're looking for more info, there are tons of good links on this page https://developers.google.com/maps/documentation/android-api/lite

    you can also check out the Google Lite Maps Demo Activity here: https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/LiteDemoActivity.java

    And here's a great video that explains Lite Maps really well: https://youtu.be/N0N1Xkc_1pU

提交回复
热议问题