Display bookmarks in google map v3 on android stored in MySQL

0

I want to know in a MYSQL database, where I have saved the coordinates, latitude and longitude.

Use these values and by means of a web service show markadores in a google map v3 in android studio , I followed this tutorial

  

link

But apparently this is using google map v2 , and it marks me some errors.

It is worth mentioning that if I can show the map and I only want to show the bookmarks stored in MySql.

XML:

<com.example.lupitagarcia.yosoyvallarta.CustomMapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" />

Main:

public class Reportes extends Fragment implements OnMapReadyCallback {
private MapView mapView;


 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
mapView = (MapView)view.findViewById(R.id.mapview);
    mapView.onCreate(savedInstanceState);
    mapView.getMapAsync(this);

return view;
}


 @Override
public void onResume(){
    super.onResume();
    mapView.onResume();
}

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.setMinZoomPreference(8.0f);
    googleMap.setMaxZoomPreference(14.0f);

 CameraPosition googlePlex = CameraPosition.builder()
            .target(new LatLng(20.611634, -105.234482))
            .zoom(15)
            .bearing(0)
            .tilt(30)
            .build();
    googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(googlePlex), 100, null);
}

@Override
public final void onDestroy(){
    mapView.onDestroy();
    super.onDestroy();
}

@Override
public final void onLowMemory(){
    mapView.onLowMemory();
    super.onLowMemory();
}

@Override
public final void onPause(){
    mapView.onPause();
    super.onPause();
}

PHP:

<?php
require_once 'dbDetails.php';
$sql = "SELECT * FROM 'reportes2' ORDER BY id ASC";
$objQuery = mysqli_query($con,$sql);

$arrRows = array();
$arryItem = array();

while($arr = mysqli_fetch_array($objQuery)) {

$arryItem["id"] = $arr["id"];
$arryItem["campo_latitud"] = $arr["campo_latitud"];
$arryItem["campo_longitud"] = $arr["campo_longitud"];
$arryItem["campo_categoria"] = $arr["campo_categoria"];

$arrRows[] = $arryItem;

}

echo json_encode($arrRows);
?>

JSON:

Json:[{"id":"1","campo_latitud":"20.63576504441857","campo_longitud":"-105.22073350846767","campo_categoria":"Planeaci?n urbana"},{"id":"2","campo_latitud":"20.61673088635825","campo_longitud":"-105.23167256265879","campo_categoria":"Protecci?n Animal"},{"id":"3","campo_latitud":"20.623034763543473","campo_longitud":"-105.22279612720013","campo_categoria":"Obras publicas"},{"id":"4","campo_latitud":"20.623034763543473","campo_longitud":"-105.22279612720013","campo_categoria":"Planeaci?n urbana"},{"id":"5","campo_latitud":"20.623034763543473","campo_longitud":"-105.22279612720013","campo_categoria":"Planeaci?n urbana"},{"id":"6","campo_latitud":"20.623034763543473","campo_longitud":"-105.22279612720013","campo_categoria":"Obras publicas"},{"id":"7","campo_latitud":"20.609287902290255","campo_longitud":"-105.23136008530855","campo_categoria":"Planeaci?n urbana"},{"id":"8","campo_latitud":"20.609287902290255","campo_longitud":"-105.23136008530855","campo_categoria":"Planeaci?n urbana"},{"id":"9","campo_latitud":"20.620010729983917","campo_longitud":"-105.2208112925291","campo_categoria":"Protecci?n Animal"},{"id":"10","campo_latitud":"20.620010729983917","campo_longitud":"-105.2208112925291","campo_categoria":"Planeaci?n urbana"},{"id":"11","campo_latitud":"20.620010729983917","campo_longitud":"-105.2208112925291","campo_categoria":"Servicios p?blicos"},{"id":"12","campo_latitud":"20.620010729983917","campo_longitud":"-105.2208112925291","campo_categoria":"Protecci?n Animal"},{"id":"13","campo_latitud":"20.61982339294196","campo_longitud":"-105.22521916776896","campo_categoria":"Planeaci?n urbana"},{"id":"14","campo_latitud":"20.61982339294196","campo_longitud":"-105.22521916776896","campo_categoria":"Protecci?n Animal"},{"id":"15","campo_latitud":"20.61982339294196","campo_longitud":"-105.22521916776896","campo_categoria":"Ecolog?a"},{"id":"16","campo_latitud":"20.61982339294196","campo_longitud":"-105.22521916776896","campo_categoria":"Protecci?n Animal"},{"id":"17","campo_latitud":"20.61982339294196","campo_longitud":"-105.22521916776896","campo_categoria":"Protecci?n Animal"},{"id":"18","campo_latitud":"20.62188094979354","campo_longitud":"-105.22479571402074","campo_categoria":"Planeaci?n urbana"},{"id":"19","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"20","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"21","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"22","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"23","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"24","campo_latitud":"20.632124702598283","campo_longitud":"-105.21480079740286","campo_categoria":"Obras publicas"},{"id":"25","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"26","campo_latitud":"10","campo_longitud":"5","campo_categoria":"my_categoria"},{"id":"27","campo_latitud":"20.61296299565648","campo_longitud":"-105.2274276316166","campo_categoria":"Ecolog?a"},{"id":"28","campo_latitud":"20.60473682699456","campo_longitud":"-105.2308377251029","campo_categoria":"Planeaci?n urbana"}]
    
asked by Daniel Prado 20.09.2017 в 18:14
source

1 answer

0

In your onMapReady method you have to add the markers to the googleMap variable, (I imagine you have a class where you store the coordinates).

public void onMapReady(GoogleMap googleMap)
{
    googleMap.getUiSettings().setMyLocationButtonEnabled(true);
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(20.611634, -105.234482), 16));

    for(Coordenada _coordenada : Coordenadas)
    {
        LatLng _cooMarker = new LatLng(_coordenada.getLat(), _coordenada.getLon());
        googleMap.addMarker(new MarkerOptions()
            .title(_coordenada.getName())
            .position(_cooMarker));
    }

    if (ActivityCompat.checkSelfPermission(this.getContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this.getContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
    {
        ActivityCompat.requestPermissions
                (
                        this.getActivity(),
                        new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                        1
                );
    }
    else
    {
        if(! googleMap.isMyLocationEnabled())
            googleMap.setMyLocationEnabled(true);
    }
}
    
answered by 20.09.2017 в 19:52