How do I make sure that they are actually copied into the .app package?

Sorry I think I only replied to you Mikkel. I'll make sure to reply to
the list instead next time.

On Mon, Sep 5, 2011 at 3:39 PM, Mikkel Lønow <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>> > 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
>> >> [email protected]
>> >> 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
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to