Search in sources :

Example 1 with Circle

use of com.google.android.gms.maps.model.Circle in project Pokemap by omkarmoghe.

the class MapWrapperFragment method clearPokemonCircles.

private void clearPokemonCircles() {
    //Check and eventually remove old marker
    if (userSelectedPositionMarkers != null && userSelectedPositionCircles != null) {
        for (Marker marker : userSelectedPositionMarkers) {
            marker.remove();
        }
        userSelectedPositionMarkers.clear();
        for (Circle circle : userSelectedPositionCircles) {
            circle.remove();
        }
        userSelectedPositionCircles.clear();
    }
}
Also used : Circle(com.google.android.gms.maps.model.Circle) Marker(com.google.android.gms.maps.model.Marker)

Example 2 with Circle

use of com.google.android.gms.maps.model.Circle in project Pokemap by omkarmoghe.

the class MapWrapperFragment method updateMarkers.

private void updateMarkers() {
    if (mGoogleMap != null) {
        if (markerList != null && !markerList.isEmpty()) {
            for (Iterator<Map.Entry<String, PokemonMarkerExtended>> pokemonIterator = markerList.entrySet().iterator(); pokemonIterator.hasNext(); ) {
                Map.Entry<String, PokemonMarkerExtended> pokemonEntry = pokemonIterator.next();
                CatchablePokemon catchablePokemon = pokemonEntry.getValue().getCatchablePokemon();
                Marker marker = pokemonEntry.getValue().getMarker();
                if (!showablePokemonIDs.contains(catchablePokemon.getPokemonId())) {
                    marker.remove();
                    pokemonIterator.remove();
                } else {
                    if (catchablePokemon.getExpirationTimestampMs() == -1) {
                        futureMarkerList.put(catchablePokemon.getSpawnPointId(), pokemonEntry.getValue());
                        marker.setAlpha(0.6f);
                        marker.setSnippet(getString(R.string.pokemon_will_spawn));
                        continue;
                    }
                    long millisLeft = catchablePokemon.getExpirationTimestampMs() - System.currentTimeMillis();
                    if (millisLeft < 0) {
                        marker.remove();
                        pokemonIterator.remove();
                    } else {
                        marker.setSnippet(getExpirationBreakdown(millisLeft));
                        if (marker.isInfoWindowShown()) {
                            marker.showInfoWindow();
                        }
                    }
                }
            }
        }
        if (pokestopsList != null && !pokestopsList.isEmpty() && mPref.getShowPokestops()) {
            for (Iterator<Map.Entry<String, PokestopMarkerExtended>> pokestopIterator = pokestopsList.entrySet().iterator(); pokestopIterator.hasNext(); ) {
                Map.Entry<String, PokestopMarkerExtended> pokestopEntry = pokestopIterator.next();
                final Pokestop pokestop = pokestopEntry.getValue().getPokestop();
                final Marker marker = pokestopEntry.getValue().getMarker();
                int markerSize = getResources().getDimensionPixelSize(R.dimen.pokestop_marker);
                RemoteImageLoader.loadMapIcon(getActivity(), pokestop.hasLurePokemon() ? lurePokeStopImageUrl : pokeStopImageUrl, markerSize, markerSize, new RemoteImageLoader.Callback() {

                    @Override
                    public void onFetch(Bitmap bitmap) {
                        BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
                        marker.setIcon(bitmapDescriptor);
                        marker.setZIndex(pokestop.hasLurePokemon() ? 1.0f : 0.5f);
                    }
                });
            }
        } else if (pokestopsList != null && !pokestopsList.isEmpty() && !mPref.getShowPokestops()) {
            for (Iterator<Map.Entry<String, PokestopMarkerExtended>> pokestopIterator = pokestopsList.entrySet().iterator(); pokestopIterator.hasNext(); ) {
                Map.Entry<String, PokestopMarkerExtended> pokestopEntry = pokestopIterator.next();
                Marker marker = pokestopEntry.getValue().getMarker();
                marker.remove();
                pokestopIterator.remove();
            }
        }
        if (gymsList != null && !gymsList.isEmpty() && mPref.getShowGyms()) {
            for (Iterator<Map.Entry<String, GymMarkerExtended>> gymIterator = gymsList.entrySet().iterator(); gymIterator.hasNext(); ) {
                Map.Entry<String, GymMarkerExtended> gymEntry = gymIterator.next();
                final FortDataOuterClass.FortData gym = gymEntry.getValue().getGym();
                final Marker marker = gymEntry.getValue().getMarker();
                int markerSize = getResources().getDimensionPixelSize(R.dimen.gym_marker);
                RemoteImageLoader.loadMapIcon(getActivity(), gymTeamImageUrls.get(gym.getOwnedByTeam().getNumber()), markerSize, markerSize, new RemoteImageLoader.Callback() {

                    @Override
                    public void onFetch(Bitmap bitmap) {
                        BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
                        marker.setIcon(bitmapDescriptor);
                    }
                });
            }
        } else if (gymsList != null && !gymsList.isEmpty() && !mPref.getShowGyms()) {
            for (Iterator<Map.Entry<String, GymMarkerExtended>> gymIterator = gymsList.entrySet().iterator(); gymIterator.hasNext(); ) {
                Map.Entry<String, GymMarkerExtended> gymEntry = gymIterator.next();
                Marker marker = gymEntry.getValue().getMarker();
                marker.remove();
                gymIterator.remove();
            }
        }
        if (!mPref.getShowScannedPlaces() && userSelectedPositionCircles != null && !userSelectedPositionCircles.isEmpty()) {
            for (Circle circle : userSelectedPositionCircles) {
                circle.remove();
            }
            userSelectedPositionCircles.clear();
        }
    }
}
Also used : GymMarkerExtended(com.omkarmoghe.pokemap.models.map.GymMarkerExtended) FortDataOuterClass(POGOProtos.Map.Fort.FortDataOuterClass) PokemonMarkerExtended(com.omkarmoghe.pokemap.models.map.PokemonMarkerExtended) CatchablePokemon(com.pokegoapi.api.map.pokemon.CatchablePokemon) Bitmap(android.graphics.Bitmap) Iterator(java.util.Iterator) RemoteImageLoader(com.omkarmoghe.pokemap.helpers.RemoteImageLoader) Circle(com.google.android.gms.maps.model.Circle) PokestopMarkerExtended(com.omkarmoghe.pokemap.models.map.PokestopMarkerExtended) BitmapDescriptor(com.google.android.gms.maps.model.BitmapDescriptor) Marker(com.google.android.gms.maps.model.Marker) Pokestop(com.pokegoapi.api.map.fort.Pokestop) Map(java.util.Map) HashMap(java.util.HashMap) GoogleMap(com.google.android.gms.maps.GoogleMap)

Example 3 with Circle

use of com.google.android.gms.maps.model.Circle in project Pokemap by omkarmoghe.

the class MapWrapperFragment method drawCatchedPokemonCircle.

private void drawCatchedPokemonCircle(double latitude, double longitude) {
    if (mGoogleMap != null && mPref.getShowScannedPlaces()) {
        double radiusInMeters = MapHelper.SCAN_RADIUS;
        // fill
        int shadeColor = 0x44DCD90D;
        CircleOptions circleOptions = new CircleOptions().center(new LatLng(latitude, longitude)).radius(radiusInMeters).fillColor(shadeColor).strokeColor(Color.TRANSPARENT).zIndex(MapHelper.LAYER_SCANNED_LOCATIONS);
        final Circle circle = mGoogleMap.addCircle(circleOptions);
        userSelectedPositionCircles.add(circle);
    }
}
Also used : Circle(com.google.android.gms.maps.model.Circle) CircleOptions(com.google.android.gms.maps.model.CircleOptions) LatLng(com.google.android.gms.maps.model.LatLng)

Aggregations

Circle (com.google.android.gms.maps.model.Circle)3 Marker (com.google.android.gms.maps.model.Marker)2 FortDataOuterClass (POGOProtos.Map.Fort.FortDataOuterClass)1 Bitmap (android.graphics.Bitmap)1 GoogleMap (com.google.android.gms.maps.GoogleMap)1 BitmapDescriptor (com.google.android.gms.maps.model.BitmapDescriptor)1 CircleOptions (com.google.android.gms.maps.model.CircleOptions)1 LatLng (com.google.android.gms.maps.model.LatLng)1 RemoteImageLoader (com.omkarmoghe.pokemap.helpers.RemoteImageLoader)1 GymMarkerExtended (com.omkarmoghe.pokemap.models.map.GymMarkerExtended)1 PokemonMarkerExtended (com.omkarmoghe.pokemap.models.map.PokemonMarkerExtended)1 PokestopMarkerExtended (com.omkarmoghe.pokemap.models.map.PokestopMarkerExtended)1 Pokestop (com.pokegoapi.api.map.fort.Pokestop)1 CatchablePokemon (com.pokegoapi.api.map.pokemon.CatchablePokemon)1 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 Map (java.util.Map)1