protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); extendedMap = (ExtendedMap)Element; mapView = Control as MapView; map = mapView.Map; map.MarkerClick+= HandleMarkerClick; // Pin tıklanınca sağalta açılan menüyü engellemek için map.UiSettings.MapToolbarEnabled = true; map.UiSettings.MyLocationButtonEnabled = true; if (extendedMap.isOverlayNeeded) { LatLng southwest = new LatLng (extendedMap.sw.Latitude, extendedMap.sw.Longitude); LatLng northeast = new LatLng (extendedMap.ne.Latitude, extendedMap.ne.Longitude); LatLngBounds bounds = new LatLngBounds (southwest, northeast); string url = extendedMap.overlayURL;//"http://www.mgm.gov.tr/mobile/mblhrt/data/radar/MAX--_6100_P00.png"; Bitmap objBitmap = GetImageBitmapFromUrl (url); BitmapDescriptor objBitmapDescriptor = BitmapDescriptorFactory.FromBitmap (objBitmap); GroundOverlayOptions objGroundOverlayOptions = new GroundOverlayOptions ().PositionFromBounds (bounds)/*.Position (objMapPosition, 100000)*/.InvokeImage (objBitmapDescriptor); map.AddGroundOverlay (objGroundOverlayOptions); //For freeing memory objBitmap.Recycle (); } for (int i = 0; i < extendedMap.pinDatas.Count; i++) { var markerWithIcon = new MarkerOptions (); markerWithIcon.SetPosition (new LatLng (extendedMap.pinDatas[i].lat, extendedMap.pinDatas[i].lng)); markerWithIcon.SetTitle (i.ToString()); /*markerWithIcon.SetTitle ("aa"); markerWithIcon.SetSnippet ("bb");*/ int resID = Resources.GetIdentifier (extendedMap.pinDatas [i].icon, "drawable" , "com.app1001.bluemart"); //System.Diagnostics.Debug.WriteLine (resID); markerWithIcon.SetIcon(BitmapDescriptorFactory.FromResource(resID)); map.AddMarker (markerWithIcon); } //Add Pins //map.SetInfoWindowAdapter(this); map.UiSettings.RotateGesturesEnabled = false; }
private void PositionPolarBearGroundOverlay(LatLng position) { if (_polarBearOverlay == null) { BitmapDescriptor image = BitmapDescriptorFactory.FromResource(Resource.Drawable.polarbear); GroundOverlayOptions groundOverlayOptions = new GroundOverlayOptions() .Position(position, 150, 200) .InvokeImage(image); _polarBearOverlay = _map.AddGroundOverlay(groundOverlayOptions); PolygonOptions rectOptions = new PolygonOptions(); rectOptions.Add(position); rectOptions.Add(new LatLng(37.45, -122.0)); rectOptions.Add(new LatLng(37.45, -122.2)); rectOptions.Add(new LatLng(37.35, -122.2)); // notice we don't need to close off the polygon _map.AddPolygon(rectOptions); } else { _polarBearOverlay.Position = InMaui; } }
private void PositionPolarBearGroundOverlay(LatLng position) { if (_polarBearOverlay == null) { var image = BitmapDescriptorFactory.FromResource(Resource.Drawable.polarbear); var groundOverlayOptions = new GroundOverlayOptions() .Position(position, 150, 200) .InvokeImage(image); _polarBearOverlay = _map.AddGroundOverlay(groundOverlayOptions); } else { _polarBearOverlay.Position = InMaui; } }
private void PositionChicagoGroundOverlay(LatLng position) { if (_chicagoOverlay == null) { BitmapDescriptor image = BitmapDescriptorFactory.FromResource(Resource.Drawable.monkey); GroundOverlayOptions groundOverlayOptions = new GroundOverlayOptions() .Position(position, 150000, 200000) .InvokeImage(image); _chicagoOverlay = _map.AddGroundOverlay(groundOverlayOptions); } else { _chicagoOverlay.Position = Location_Chicago; } }
public void HandleDirectionPointsResult(List<LatLng> directionPoints, LatLng startLocation, LatLng endLocation) { var line = new PolylineOptions(); line.InvokeWidth(8); line.InvokeColor(global::Android.Graphics.Color.Blue); int i = 0; foreach (var point in directionPoints) { line.Add(point); } if (mMap != null) { CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(startLocation); builder.Zoom(10); builder.Bearing(0); builder.Tilt(0); CameraPosition cameraPosition = builder.Build(); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); this.RunOnUiThread(() => { mMap.Clear(); // Uses a colored icon. mMap.AddMarker(new MarkerOptions() .SetPosition(startLocation) .SetTitle(GeoStartAddress) .SetSnippet("Population: Unknown") .InvokeIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed))); mMap.AddMarker(new MarkerOptions() .SetPosition(endLocation) .SetTitle(GeoEndAddress) .SetSnippet("Population: Unknown") .InvokeIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed))); var img = BitmapDescriptorFactory.FromResource (Resource.Drawable.badge_victoria); var groundOverlayOptions1 = new GroundOverlayOptions () .Position (startLocation, 1600, 1600) .InvokeImage (img); var mapOverlay1 = mMap.AddGroundOverlay(groundOverlayOptions1); //Randomly adding Map OVerlays on the map. foreach (var point in directionPoints) { i++; if (i > 520) { i = 0; var image = BitmapDescriptorFactory.FromResource (Resource.Drawable.balloon_overlay_focused); var groundOverlayOptions = new GroundOverlayOptions () .Position (point, 2000, 2000) .InvokeImage (image); var mapOverlay = mMap.AddGroundOverlay(groundOverlayOptions); var checadd = mapOverlay; } } mMap.AnimateCamera(cameraUpdate); var drawline = mMap.AddPolyline(line); }); } // return 1; }