I have tried using Pamela's CustomIconSprite.as package

but this is the error i get:
-----
TypeError: Error #1007: Instantiation attempted on a non-constructor.
        at CustomIconSprite()
        at MarkerToggleFlash_fla::MainTimeline/createMarker()
        at MarkerToggleFlash_fla::MainTimeline/readXml()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at flash.net::URLLoader/onComplete()
----



this is the code i am using
CustomIconSprite.as

----
/*
* Copyright 2008 Google Inc.
* Licensed under the Apache License, Version 2.0:
*  http://www.apache.org/licenses/LICENSE-2.0
*/
package {

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

/**
 * InfoWindowSprite is a sprite that contains sub sprites that
function as tabs.
 */
public class CustomIconSprite extends Sprite {
  [Embed('play.png')] private var TestImg:Class;


  public function CustomIconSprite(label:String) {
        addChild(new TestImg());

        var radius:int = 60;
    var labelMc:TextField = new TextField();
    labelMc.autoSize = TextFieldAutoSize.LEFT;
    labelMc.selectable = false;
    labelMc.border = false;
    labelMc.embedFonts = false;
    labelMc.mouseEnabled = false;
    labelMc.width = radius;
    labelMc.height = radius;
    labelMc.text = label;
    labelMc.x = 9;
    labelMc.y = 6;
    addChild(labelMc);
    cacheAsBitmap = true;
  }

}

}

-----------------
import it into MarkerToggleFlash:

import CustomIconSprite;

import com.google.maps.LatLng;
import com.google.maps.LatLngBounds;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapMouseEvent;
import com.google.maps.MapZoomEvent;
import com.google.maps.MapType;
import com.google.maps.services.ClientGeocoder;
import com.google.maps.services.GeocodingEvent;
import com.google.maps.overlays.Marker;
import com.google.maps.overlays.MarkerOptions;
import com.google.maps.InfoWindowOptions;
import com.google.maps.styles.FillStyle;
//import mx.controls.Alert;
import com.google.maps.controls.ZoomControl;


import com.google.maps.interfaces.IProjection;
import com.google.maps.styles.StrokeStyle;
import com.google.maps.overlays.PolygonOptions;
import com.google.maps.overlays.Polygon;
import flash.events.Event;




var categories:Object =
{ "airport": {
    "color": 0xFF0000,
    "markers": []},
  "bar": {
    "color": 0x0000FF,
    "markers": []}
};

var map:Map = new Map();
map.key =
"ABQIAAAAkqC0hQ6ptJJ39dnGRIsUXBQ1sfgIqdZmW2O7RVNpgttTmt9J7RRncv6SxIB7wCvWAj60UFqYVaKfaQ";
map.x = 100;
map.y = 0;
map.setSize(new Point(stage.stageWidth-100, stage.stageHeight));
map.addEventListener(MapEvent.MAP_READY, onMapReady);
this.addChild(map);

airportsCheckbox.addEventListener(MouseEvent.CLICK, function(e:Event)
{
  toggleCategory("airport");
});
barsCheckbox.addEventListener(MouseEvent.CLICK, function(e:Event) {
  toggleCategory("bar");
});

function onMapReady(event:Event):void {
  map.enableScrollWheelZoom();
  map.enableContinuousZoom();
  map.setCenter(new LatLng(30.751278, 104.501953), 4);
  map.addControl(new ZoomControl());

  var xmlString:URLRequest = new URLRequest("markers.xml");
  var xmlLoader:URLLoader = new URLLoader(xmlString);
  xmlLoader.addEventListener("complete", readXml);
}

function readXml(event:Event):void{
  var markersXML:XML = new XML(event.target.data);
  var markers:XMLList = markersXML..marker;
  var markersCount:int = markers.length();

  for (var i:Number = 0; i < markersCount; i++) {
    var marker:XML = markers[i];
    var name:String = mark...@name;
    var address:String = mark...@address;
        var image:String = mark...@image;
        var description:String = mark...@description;
        var articlelink:String = mark...@articlelink;
    var type:String = mark...@type;
    var latlng:LatLng = new LatLng(mark...@lat, mark...@lng);
      createMarker(latlng, name, address, image, description,
articlelink, type);
    }
        drawCircle(30.751278, 104.501953, 200.0, 0x000080, 1, 0.75, 0x0000FF,.
2);
}



function createMarker(latlng:LatLng, name:String, address:String,
image:String, description:String, articlelink:String,
type:String):void {

  //original marker
  /*
  var markerOptions:MarkerOptions = new MarkerOptions({});
  var fillStyle:FillStyle = new FillStyle({color: categories
[type].color});
  markerOptions.fillStyle = fillStyle;
  */

  // new custom marker from CustomIconSpriteDemo.mxml
  var markerOptions:MarkerOptions = new MarkerOptions({icon: new
CustomIconSprite("a")});


  // continue original code
  var marker:Marker = new Marker(latlng, markerOptions);
  var html:String =  "<a href='http://www.google.com'
target='_blank'>link test</a><br /><img src=\"http://maps.google.com/
help/maps/edit/images/marker-noalpha.png\">" + image + "<br /><b>" +
name + "</b> <br />" + description + "<br />" + address + "<br /><br /
><a href=" + articlelink + "><b>Read More</b></a>";
  marker.addEventListener(MapMouseEvent.CLICK, function
(e:MapMouseEvent):void {
    marker.openInfoWindow(new InfoWindowOptions({contentHTML:html}));
  });
  categories[type].markers.push(marker);
  map.addOverlay(marker);
 }

function toggleCategory(type:String):void {
  for (var i:Number = 0; i < categories[type].markers.length; i++) {
    var marker:Marker = categories[type].markers[i];
    if (!marker.visible) {
      marker.visible = true;
    } else {
      marker.visible = false;
    }
  }
}


function drawCircle(lat:Number, lng:Number, radius:Number,
strokeColor:Number, strokeWidth:Number, strokeOpacity:Number,
fillColor:Number, fillOpacity:Number):void {
                var d2r:Number = Math.PI/180;
        var r2d:Number = 180/Math.PI;
        var circleLat:Number = radius * 0.014483;  // Convert statute
miles into degrees latitude
        var circleLng:Number = circleLat/Math.cos(lat*d2r);
        var circleLatLngs:Array = new Array();
        for (var i:Number = 0; i < 33; i++) {
                var theta:Number = Math.PI * (i/16);
                var vertexLat:Number = lat + (circleLat * Math.sin(theta));
                var vertexLng:Number = lng + (circleLng * Math.cos(theta));
                var latLng:LatLng = new LatLng(vertexLat, vertexLng);
                circleLatLngs.push(latLng);
        }

        var polygonOptions:PolygonOptions = new PolygonOptions();
        var fillStyle:FillStyle = new FillStyle();
        fillStyle.alpha = fillOpacity;
        fillStyle.color = fillColor;
        polygonOptions.fillStyle = fillStyle;

        var strokeStyle:StrokeStyle = new StrokeStyle();
        strokeStyle.alpha = strokeOpacity;
        strokeStyle.color = strokeColor;
        strokeStyle.thickness = strokeWidth;
        polygonOptions.strokeStyle = strokeStyle

        var polygon:Polygon = new Polygon(circleLatLngs,
polygonOptions);
        map.addOverlay(polygon);
        }




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to