java - Not showing google maps from android device -
i want add google maps. works on device. not work on other devices want work on devices. how can it? use viewpager , fragment. have apikey developersgoogle not understand how not work
fragmenta.java
public class fragmenta extends fragment { mapview mmapview; private googlemap googlemap; view view ; textview textview; recyclerview recyclerview ; arraylist<onemlidepremler> onemlidepremler; sondepremrecycleradapter sondepremrecycleradapter; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.son_deprem_custom, container, false); recyclerview = rootview.findviewbyid(r.id.son_recycler); linearlayoutmanager layoutmanager=new linearlayoutmanager(getactivity()); layoutmanager.setorientation(linearlayoutmanager.vertical); layoutmanager.scrolltoposition(0); recyclerview.setlayoutmanager(layoutmanager); onemlidepremler=new arraylist<onemlidepremler>(); mmapview = (mapview) rootview.findviewbyid(r.id.mapview); mmapview.oncreate(savedinstancestate); mmapview.onresume(); // needed map display try { mapsinitializer.initialize(getactivity().getapplicationcontext()); } catch (exception e) { e.printstacktrace(); } mmapview.getmapasync(new onmapreadycallback() { @override public void onmapready(googlemap mmap) { googlemap = mmap; } }); factory.getinstance().sondepremmodel().enqueue(new callback<onemlidepremmodel>() { @override public void onresponse(call<onemlidepremmodel> call, response<onemlidepremmodel> response) { sondepremrecycleradapter=new sondepremrecycleradapter(response.body().data.sublist(0, 10),googlemap); latlng latlng=new latlng(float.parsefloat(response.body().data.get(0).lat), float.parsefloat(response.body().data.get(0).lng)); googlemap.addmarker(new markeroptions().position(latlng).title("marker title").snippet("marker description")); cameraposition cameraposition = new cameraposition.builder().target(latlng).zoom(12).build(); googlemap.animatecamera(cameraupdatefactory.newcameraposition(cameraposition)); recyclerview.setadapter(sondepremrecycleradapter); } @override public void onfailure(call<onemlidepremmodel> call, throwable t) { } }); return rootview; } @override public void onresume() { super.onresume(); mmapview.onresume(); } @override public void onpause() { super.onpause(); mmapview.onpause(); } @override public void ondestroy() { super.ondestroy(); mmapview.ondestroy(); } @override public void onlowmemory() { super.onlowmemory(); mmapview.onlowmemory(); } }
son_deprem_custom.xml
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <framelayout android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/son_frame"> <com.google.android.gms.maps.mapview android:id="@+id/mapview" android:layout_width="match_parent" android:layout_height="match_parent" /> </framelayout> <framelayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.recyclerview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/son_recycler"> </android.support.v7.widget.recyclerview> </framelayout>
androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yavuzoktay.deprem"> <uses-permission android:name="com.yavuzoktay.deprem.permission.maps_receive" /> <permission android:name="com.yavuzoktay.deprem.permission.maps_receive" android:protectionlevel="signature" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-feature android:glesversion="0x00020000" android:required="true" /> <application android:allowbackup="true" android:icon="@drawable/depremicon2" android:label="@string/app_name" android:roundicon="@mipmap/ic_launcher_round" android:supportsrtl="true" android:theme="@style/apptheme"> <activity android:name=".mainactivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.api_key" android:value="mykey"></meta-data> </application> </manifest>
your advice important me
thank !
you don't have api key google maps
for more details, see full guide getting api key.
<!--the api key google maps-based apis.--> <meta-data android:name="com.google.android.geo.api_key" android:value="@string/google_maps_key" />
res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="google_maps_key">yours google maps key</string> </resources>
Comments
Post a Comment