java - getting error with getMap()? -


i trying interactive infowindow 1 of answer of stack overflow.

link given below:

interactive infowindow

but getting error getmap() used in code. although tried getmapasync unable resolve problem. please me asap.if new code available interactive infowindow button please share code.

    public class mainactivity extends activity {         private viewgroup infowindow;     private textview infotitle;     private textview infosnippet;     private button infobutton;     private oninfowindowelemtouchlistener infobuttonlistener;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          final mapfragment mapfragment = (mapfragment)getfragmentmanager().findfragmentbyid(r.id.map);         final mapwrapperlayout mapwrapperlayout = (mapwrapperlayout)findviewbyid(r.id.map_relative_layout);         final googlemap map = mapfragment.getmap();          // mapwrapperlayout initialization         // 39 - default marker height         // 20 - offset between default infowindow bottom edge , it's content bottom edge          mapwrapperlayout.init(map, getpixelsfromdp(this, 39 + 20));           // want reuse info window markers,          // let's create 1 class member instance         this.infowindow = (viewgroup)getlayoutinflater().inflate(r.layout.info_window, null);         this.infotitle = (textview)infowindow.findviewbyid(r.id.title);         this.infosnippet = (textview)infowindow.findviewbyid(r.id.snippet);         this.infobutton = (button)infowindow.findviewbyid(r.id.button);          // setting custom ontouchlistener deals pressed state         // shows          this.infobuttonlistener = new oninfowindowelemtouchlistener(infobutton,                 getresources().getdrawable(r.drawable.btn_default_normal_holo_light),                 getresources().getdrawable(r.drawable.btn_default_pressed_holo_light))          {             @override             protected void onclickconfirmed(view v, marker marker) {                 // here can perform action triggered after clicking button                 toast.maketext(mainactivity.this, marker.gettitle() + "'s button clicked!", toast.length_short).show();             }         };          this.infobutton.setontouchlistener(infobuttonlistener);           map.setinfowindowadapter(new infowindowadapter() {             @override             public view getinfowindow(marker marker) {                 return null;             }              @override             public view getinfocontents(marker marker) {                 // setting infowindow current's marker info                 infotitle.settext(marker.gettitle());                 infosnippet.settext(marker.getsnippet());                 infobuttonlistener.setmarker(marker);                  // must call set current marker , infowindow references                 // mapwrapperlayout                 mapwrapperlayout.setmarkerwithinfowindow(marker, infowindow);                 return infowindow;             }         });          // let's add couple of markers         map.addmarker(new markeroptions()             .title("prague")             .snippet("czech republic")             .position(new latlng(50.08, 14.43)));          map.addmarker(new markeroptions()             .title("paris")             .snippet("france")             .position(new latlng(48.86,2.33)));          map.addmarker(new markeroptions()             .title("london")             .snippet("united kingdom")             .position(new latlng(51.51,-0.1)));     }      public static int getpixelsfromdp(context context, float dp) {         final float scale = context.getresources().getdisplaymetrics().density;         return (int)(dp * scale + 0.5f);     } } 

error coming because of google has removed getmap dont know alternative solution this.

error:(149, 42) error: cannot find symbol method getmap()

your existing code is:

 final mapfragment mapfragment = (mapfragment)getfragmentmanager().findfragmentbyid(r.id.map);     final googlemap map = mapfragment.getmap(); 

try instead of that:

 mapfragment mapfragment; // declare in global scope  googlemap googlemap; // declare in global scope 

put code in oncreate method:

mapfragment = (mapfragment)getfragmentmanager().findfragmentbyid(r.id.map);                  mapfragment.getmapasync(new onmapreadycallback() {                     @override                     public void onmapready(googlemap map) {                         googlemap = map;                          googlemap.setmaptype(googlemap.map_type_normal);                         googlemap.setmylocationenabled(false); // false disable                         googlemap.setonmarkerclicklistener(onmarkerclick);                         googlemap.setoninfowindowclicklistener(oninfowindowclick);                         googlemap.getuisettings().setzoomcontrolsenabled(true);// display zoom controls                         googlemap.setmylocationenabled(true);// display location control                     }                 });             } 

for converting pixels dp use this:

    public int getpixelsfromdp(int px){         displaymetrics displaymetrics = getcontext().getresources().getdisplaymetrics();      return math.round(px / (displaymetrics.xdpi / displaymetrics.density_default));  }  

Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -