Good.

Unfortunately, I haven't tried to draw circles that scales when zooming. You
could put a label on top of the annotation instead, which you can update
when you need to?

On Tue, Sep 6, 2011 at 16:09, Tomasz Cielecki <tom...@ostebaronen.dk> wrote:

> OK, seems to work now. Thank you.
>
> Though I would still prefer if I could just draw a circle with text
> inside as I could imagine having images for every possible number that
> could appear inside the circle could be problematic to generate.
>
> MonoDroid/Android and Windows Phone 7 makes this possible and the
> overlay layer drawn on top of the map scales when you zoom in and out
> even though you have specified a radius.
>
> See these images for an example:
> http://imageshack.us/photo/my-images/18/device20110906153628.png/
> http://imageshack.us/photo/my-images/801/device20110906160751.png/
>
> This is the same effect I want. Preferably without using images. As
> both text and the color of the circle has to be updated sometimes.
>
> On Tue, Sep 6, 2011 at 1:11 PM, Mikkel Lønow <mloe...@gmail.com> wrote:
> > It's working in MonoDevelop 2.6 RC2. Get it from the updater :) Make sure
> to
> > set Build Action to Content.
> > Otherwise, you would have to copy them yourself.
> >
> > On Tue, Sep 6, 2011 at 13:08, Tomasz Cielecki <tom...@ostebaronen.dk>
> wrote:
> >>
> >> So It seems the images are not included in the .app file. My guess
> >> this is not what I want :D Now how do I make them jump in there
> >> willingly?
> >>
> >> On Tue, Sep 6, 2011 at 9:11 AM, Mikkel Lønow <mloe...@gmail.com> wrote:
> >> > It should be in bin/Debug/iPhoneSimulator. It's copied to the
> >> > simulator after compilation.
> >> >
> >> > On 06/09/2011, at 09.08, Tomasz Cielecki <tom...@ostebaronen.dk>
> wrote:
> >> >
> >> >> Trouble is that I am currently using the Emulator to test my app. How
> >> >> do I find the .app package?
> >> >>
> >> >> I am using the latest stable version of MonoDevelop.
> >> >>
> >> >> On Mon, Sep 5, 2011 at 3:45 PM, Mikkel Lønow <mloe...@gmail.com>
> wrote:
> >> >>> Right click / Ctrl click / two finger tab on the .app package and
> >> >>> select
> >> >>> Show Package Contents.
> >> >>> What version of MonoDevelop are you using?
> >> >>>
> >> >>> On Mon, Sep 5, 2011 at 15:42, Tomasz Cielecki <
> tom...@ostebaronen.dk>
> >> >>> wrote:
> >> >>>>
> >> >>>> How do I make sure that they are actually copied into the .app
> >> >>>> package?
> >> >>>>
> >> >>>> On Mon, Sep 5, 2011 at 3:39 PM, Mikkel Lønow <mloe...@gmail.com>
> >> >>>> wrote:
> >> >>>>> At first glance it looks correct.
> >> >>>>> Is Build Action for pin.png set to Content? Can you make sure they
> >> >>>>> are
> >> >>>>> actually copied to the .app package? (there's a bug in some
> versions
> >> >>>>> of
> >> >>>>> MonoDevelop where images would not be copied).
> >> >>>>> Mikkel
> >> >>>>> P.S. Replied to all.
> >> >>>>> On Mon, Sep 5, 2011 at 15:32, Tomasz Cielecki
> >> >>>>> <tom...@ostebaronen.dk>
> >> >>>>> wrote:
> >> >>>>>>
> >> >>>>>> I think your suggestion is more or less the same way I am
> >> >>>>>> implementing
> >> >>>>>> it.
> >> >>>>>>
> >> >>>>>> Code can be seen here https://gist.github.com/1194994 or:
> >> >>>>>>
> >> >>>>>> Here is my Main.cs file:
> >> >>>>>> using System;
> >> >>>>>> using System.Collections.Generic;
> >> >>>>>> using System.Linq;
> >> >>>>>> using MonoTouch.Foundation;
> >> >>>>>> using MonoTouch.UIKit;
> >> >>>>>> using LoadSiteList;
> >> >>>>>> using MonoTouch.MapKit;
> >> >>>>>> using MonoTouch.CoreLocation;
> >> >>>>>>
> >> >>>>>> namespace MapsStuff
> >> >>>>>> {
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>        public class Application
> >> >>>>>>        {
> >> >>>>>>                static void Main (string[] args)
> >> >>>>>>                {
> >> >>>>>>                        UIApplication.Main (args);
> >> >>>>>>                }
> >> >>>>>>        }
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>        // The name AppDelegate is referenced in the
> MainWindow.xib
> >> >>>>>> file.
> >> >>>>>>        public partial class AppDelegate : UIApplicationDelegate
> >> >>>>>>        {
> >> >>>>>>                UITabBarController tabBarController;
> >> >>>>>>                os4MapsViewController viewController;
> >> >>>>>>                MapsStuff.TableViewController viewController2;
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>                // This method is invoked when the application has
> >> >>>>>> loaded
> >> >>>>>> its UI and
> >> >>>>>> its ready to run
> >> >>>>>>                public override bool FinishedLaunching
> >> >>>>>> (UIApplication
> >> >>>>>> app,
> >> >>>>>> NSDictionary options)
> >> >>>>>>                {
> >> >>>>>>                        window = new UIWindow
> >> >>>>>> (UIScreen.MainScreen.Bounds);
> >> >>>>>>                        tabBarController = new
> UITabBarController();
> >> >>>>>>
> >> >>>>>>                        viewController = new
> >> >>>>>> os4MapsViewController();
> >> >>>>>>                        viewController2 = new
> TableViewController();
> >> >>>>>>
> >> >>>>>>                        viewController.TabBarItem = new
> UITabBarItem
> >> >>>>>> ("Map",
> >> >>>>>> UIImage.FromFile("Images/103-map.png"), 0);
> >> >>>>>>                        viewController2.TabBarItem = new
> >> >>>>>> UITabBarItem
> >> >>>>>> ("List",
> >> >>>>>> UIImage.FromFile("Images/103-map.png"), 0);
> >> >>>>>>                        tabBarController.ViewControllers = new
> >> >>>>>> UIViewController[]
> >> >>>>>> {viewController, viewController2};
> >> >>>>>>
> >> >>>>>>                        window.AddSubview(tabBarController.View);
> >> >>>>>>                        // If you have defined a view, add it
> here:
> >> >>>>>>                        // window.AddSubview
> >> >>>>>> (navigationController.View);
> >> >>>>>>
> >> >>>>>>                        window.MakeKeyAndVisible ();
> >> >>>>>>
> >> >>>>>>                        return true;
> >> >>>>>>                }
> >> >>>>>>
> >> >>>>>>                // This method is required in iPhoneOS 3.0
> >> >>>>>>                public override void OnActivated (UIApplication
> >> >>>>>> application)
> >> >>>>>>                {
> >> >>>>>>                }
> >> >>>>>>        }
> >> >>>>>> }
> >> >>>>>>
> >> >>>>>> Next here is the os4MapsViewController.cs:
> >> >>>>>>
> >> >>>>>> using System;
> >> >>>>>> using System.Drawing;
> >> >>>>>> using System.Collections.Generic;
> >> >>>>>> using System.Diagnostics;
> >> >>>>>> using MonoTouch.Foundation;
> >> >>>>>> using MonoTouch.UIKit;
> >> >>>>>> using MonoTouch.MapKit;
> >> >>>>>> using MonoTouch.CoreLocation;
> >> >>>>>>
> >> >>>>>> namespace MapsStuff
> >> >>>>>> {
> >> >>>>>>        public class os4MapsViewController: UIViewController
> >> >>>>>>        {
> >> >>>>>>                private MKMapView _mapView { get; set; }
> >> >>>>>>                List<MapsStuff.MapAnnotation> pins;
> >> >>>>>>
> >> >>>>>>                public MKMapView MapView
> >> >>>>>>                {
> >> >>>>>>                        get { return _mapView; }
> >> >>>>>>                }
> >> >>>>>>
> >> >>>>>>                public os4MapsViewController () : base()
> >> >>>>>>                {}
> >> >>>>>>
> >> >>>>>>                public override void ViewDidLoad ()
> >> >>>>>>                {
> >> >>>>>>                        base.ViewDidLoad ();
> >> >>>>>>
> >> >>>>>>                        //
> >> >>>>>>                        // Create our map view and add it as as
> >> >>>>>> subview.
> >> >>>>>>                        //
> >> >>>>>>                        pins = CreateRandomPins();
> >> >>>>>>                        _mapView = new MKMapView();
> >> >>>>>>                        _mapView.Frame = new RectangleF (0, 0,
> >> >>>>>> this.View.Frame.Width,
> >> >>>>>> this.View.Frame.Height);
> >> >>>>>>                        _mapView.ShowsUserLocation = true;
> >> >>>>>>                        _mapView.MapType = MKMapType.Hybrid;
> >> >>>>>>                        _mapView.Delegate = new MapViewDelegate();
> >> >>>>>>                        foreach (MapAnnotation m in pins)
> >> >>>>>>                        {
> >> >>>>>>                                _mapView.AddAnnotation(m);
> >> >>>>>>                        }
> >> >>>>>>                        View.AddSubview(_mapView);
> >> >>>>>>                }
> >> >>>>>>
> >> >>>>>>                List<MapsStuff.MapAnnotation> CreateRandomPins()
> >> >>>>>>                {
> >> >>>>>>                        Random r = new Random();
> >> >>>>>>                        List<MapsStuff.MapAnnotation> locations =
> >> >>>>>> new
> >> >>>>>> List<MapsStuff.MapAnnotation>();
> >> >>>>>>                        for (int i = 0; i < 4; i++)
> >> >>>>>>                        {
> >> >>>>>>                                        locations.Add(
> >> >>>>>>                                              new
> >> >>>>>> MapsStuff.MapAnnotation(
> >> >>>>>>                                                  new
> >> >>>>>> CLLocationCoordinate2D(r.NextDouble() * 180,
> >> >>>>>> r.NextDouble() * 180),
> >> >>>>>>                                                  "test" + i,
> >> >>>>>>                                                  "sub" + i
> >> >>>>>>                                              ));
> >> >>>>>>                        }
> >> >>>>>>
> >> >>>>>>                        return locations;
> >> >>>>>>                }
> >> >>>>>>        }
> >> >>>>>>        public class MapViewDelegate : MKMapViewDelegate
> >> >>>>>>        {
> >> >>>>>>                public MapViewDelegate (): base()
> >> >>>>>>                {
> >> >>>>>>                }
> >> >>>>>>                public override MKAnnotationView
> >> >>>>>> GetViewForAnnotation
> >> >>>>>> (MKMapView
> >> >>>>>> mapView, NSObject annotation)
> >> >>>>>>                {
> >> >>>>>>                        var anv =
> >> >>>>>> mapView.DequeueReusableAnnotation("thislocation");
> >> >>>>>>                        if (anv == null)
> >> >>>>>>                        {
> >> >>>>>>                                Console.WriteLine("creating new
> >> >>>>>> MKAnnotationView");
> >> >>>>>>                                anv = new
> >> >>>>>> MKPinAnnotationView(annotation,
> >> >>>>>> "thislocation");
> >> >>>>>>                        }
> >> >>>>>>                        else
> >> >>>>>>                        {
> >> >>>>>>                                anv.Annotation = annotation;
> >> >>>>>>                        }
> >> >>>>>>                        anv.Image = new UIImage("pin.png");
> >> >>>>>>                        anv.CanShowCallout = true;
> >> >>>>>>                        return anv;
> >> >>>>>>                }
> >> >>>>>>        }
> >> >>>>>> }
> >> >>>>>>
> >> >>>>>> So both the referenced images in Main.cs and the ones in
> >> >>>>>> os4MapsViewController.cs are not shown
> >> >>>>>>
> >> >>>>>>
> http://imageshack.us/photo/my-images/850/screenshot20110905at323.png/
> >> >>>>>> <-- this image shows what I get on the emulator.
> >> >>>>>>
> >> >>>>>> pin.png lies in the root folder of my project. The other image
> lies
> >> >>>>>> in
> >> >>>>>> the folder Images in the project dir. None of them seems to show
> >> >>>>>> up.
> >> >>>>>>
> >> >>>>>> Any ideas? I know the code provided uses MKPinAnnotationView, but
> >> >>>>>> changing it to MKAnnotationView simply shows nothing.
> >> >>>>>>
> >> >>>>>> On Mon, Sep 5, 2011 at 2:48 PM, Mikkel Lønow <mloe...@gmail.com>
> >> >>>>>> wrote:
> >> >>>>>>> Hi Tomasz,
> >> >>>>>>> I believe MKAnnotationView would be your best option. Use a
> custom
> >> >>>>>>> MKMapViewDelegate and override GetViewForAnnotation where you
> call
> >> >>>>>>> mapView.DequeueReusableAnnotation to reuse the annotation view
> (or
> >> >>>>>>> create a
> >> >>>>>>> new if null). Here you can set your image to the annotation
> view.
> >> >>>>>>> Feel free to share your implementation if you need more help.
> >> >>>>>>> Mikkel
> >> >>>>>>>
> >> >>>>>>> On Mon, Sep 5, 2011 at 14:01, Tomasz Cielecki
> >> >>>>>>> <tom...@ostebaronen.dk>
> >> >>>>>>> wrote:
> >> >>>>>>>>
> >> >>>>>>>> Hello MonoTouch list,
> >> >>>>>>>>
> >> >>>>>>>> I am in the midst of creating a iPhone app where I need a map
> >> >>>>>>>> with
> >> >>>>>>>> some circles, where the circle colors changes depending on the
> >> >>>>>>>> data
> >> >>>>>>>> received asynchronously in the background.
> >> >>>>>>>>
> >> >>>>>>>> So my first approach to this was to get a Map shown on the
> >> >>>>>>>> devices
> >> >>>>>>>> with a circle, which works fine. Only problem is that MKCircle
> >> >>>>>>>> takes
> >> >>>>>>>> a
> >> >>>>>>>> radius for that circle, which means the circle is only visible
> at
> >> >>>>>>>> some
> >> >>>>>>>> zoom level. So lets say the circle radius is 100 meters, then I
> >> >>>>>>>> have
> >> >>>>>>>> to zoom to almost the biggest zoom level to get to a point
> where
> >> >>>>>>>> I
> >> >>>>>>>> actually can see the circle, this is not the desirable
> behavior.
> >> >>>>>>>> I
> >> >>>>>>>> want to have the circle resize along with the zoom level, just
> >> >>>>>>>> like
> >> >>>>>>>> pins do.
> >> >>>>>>>>
> >> >>>>>>>> So I have also tried to use a custom image on
> MKPinAnnotationView
> >> >>>>>>>> and
> >> >>>>>>>> on MKAnnotationView, neither of them seems to show my custom
> >> >>>>>>>> image.
> >> >>>>>>>> The normal pin image shows when using MKPinAnnotationView. I
> have
> >> >>>>>>>> put
> >> >>>>>>>> the pin image in the root of my project and referencing it with
> >> >>>>>>>> the
> >> >>>>>>>> path "pin.png" (the name of the image is actually pin.png).
> >> >>>>>>>>
> >> >>>>>>>> So maybe someone here can help me find out what is wrong, or
> >> >>>>>>>> provide
> >> >>>>>>>> me with some examples on how to do this? I would prefer if I
> >> >>>>>>>> could
> >> >>>>>>>> use
> >> >>>>>>>> MKCircle and just choose the color. But using images could be a
> >> >>>>>>>> solution.
> >> >>>>>>>>
> >> >>>>>>>> --
> >> >>>>>>>> Med Venlig Hilsen / With Best Regards
> >> >>>>>>>> Tomasz Cielecki
> >> >>>>>>>> http://ostebaronen.dk
> >> >>>>>>>> _______________________________________________
> >> >>>>>>>> MonoTouch mailing list
> >> >>>>>>>> MonoTouch@lists.ximian.com
> >> >>>>>>>> http://lists.ximian.com/mailman/listinfo/monotouch
> >> >>>>>>>
> >> >>>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> --
> >> >>>>>> Med Venlig Hilsen / With Best Regards
> >> >>>>>> Tomasz Cielecki
> >> >>>>>> http://ostebaronen.dk
> >> >>>>>
> >> >>>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> --
> >> >>>> Med Venlig Hilsen / With Best Regards
> >> >>>> Tomasz Cielecki
> >> >>>> http://ostebaronen.dk
> >> >>>
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Med Venlig Hilsen / With Best Regards
> >> >> Tomasz Cielecki
> >> >> http://ostebaronen.dk
> >> >
> >>
> >>
> >>
> >> --
> >> Med Venlig Hilsen / With Best Regards
> >> Tomasz Cielecki
> >> http://ostebaronen.dk
> >
> >
>
>
>
> --
> Med Venlig Hilsen / With Best Regards
> Tomasz Cielecki
> http://ostebaronen.dk
>
_______________________________________________
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to