Flash builder 4.5可以支持Android平台,俺尝试写了一些东西,算是第一次亲密接触。想法是这样的:将一些点的经纬度投射到Google Map上,并可浏览相关点的信息。 数据库使用MS SQL server 2008 R2 X64版本,创建数据表【Map201105】,该表描述点信息:
CREATETABLE[dbo].[Map201105](
[id][int]IDENTITY(1,1)NOTNULL,
[bianhao][int]NULL,
[zhengqibiaoshi][nvarchar](255)NULL,
[kehumingcheng][nvarchar](255)NULL,
[jiancheng][nvarchar](255)NULL,
[dengluyu][nvarchar](255)NULL,
[DVRtongdaohao][int]NULL,
[qianduangaicanshu][nvarchar](255)NULL,
[zhucedidian][nvarchar](255)NULL,
[zhushebeiID][nvarchar](255)NULL,
[jintouID][nvarchar](255)NULL,
[ADSL][nvarchar](255)NULL,
[GD163][nvarchar](255)NULL,
[GXSJ][nvarchar](255)NULL,
[BMQ][nvarchar](255)NULL,
[XSJ][nvarchar](255)NULL,
[CRMzhuangtai][nvarchar](255)NULL,
[tongduan][nvarchar](255)NULL,
[shigongfankui][nvarchar](255)NULL,
[xitonghuidanqingkuang][nvarchar](255)NULL,
[yanshou][nvarchar](255)NULL,
[beizhu][nvarchar](255)NULL,
[jingdu][float]NULL,
[weidu][float]NULL,
CONSTRAINT[PK_Map201105]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
这里注意[jingdu]和[weidu]列,表示在GoogleMap上投点坐标,由于使用手持GPS测量数据使用度分秒表示,所有俺创建另外一个表记录这些测量的数据,【Maplatlng】,
CREATETABLE[dbo].[Maplatlng](
[id][int]IDENTITY(1,1)NOTNULL,
[Map110id][int]NULL,
[Lat][int]NULL,
[Lat_du][int]NULL,
[Lat_fen][int]NULL,
[Lat_miao][float]NULL,
[Lng][int]NULL,
[Lng_du][int]NULL,
[Lng_fen][int]NULL,
[Lng_miao][float]NULL,
CONSTRAINT[PK_Maplatlng]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[Maplatlng] WITHCHECKADD CONSTRAINT[FK_Maplatlng_Map201105]FOREIGNKEY([Map110id])
REFERENCES[dbo].[Map201105]([id])
GO
ALTERTABLE[dbo].[Maplatlng]CHECKCONSTRAINT[FK_Maplatlng_Map201105]
列[Map110id]是关联表【Map201105】外键。
使用Hibernate持久化数据,变成Java对象,Map201105映射文件:
Maplatlng映射文件:
从映射文件可以看出两个映射类之间的关系是多对一关系。
使用LCDS 3.1数据管理属性,配置文件data-management-config加入两个destination
com.les.Gmap.GMapAssembler
application
com.les.Gmap.Map201105
getOnArtist
java.lang.String,java.lang.Integer
com.les.Gmap.GMaplatlngAssembler
application
com.les.Gmap.Maplatlng
getOnArtist
java.lang.String,java.lang.Integer
第一个destination提供点的信息,特别是坐标信息,第二个destination提供经纬度数据
新建一个Flex手机项目,选定Android平台,选择"卡片式应用程序",一个卡片用于呈现地图,另一个呈现数据。
呈现Map的View:
flex/spark"
xmlns:components="spark.components.*"
xmlns:services="services.*"
xmlns:supportClasses="spark.skins.mobile.supportClasses.*"
creationComplete="application1_creationCompleteHan dler(event)" title="Map">
呈现数据的View:
flex/spark" xmlns:components="spark.components.*" xmlns:services="services.*" title="主页视图">
Mapview
DataView:
Flex文件比较大,生成地图时间约10秒。
CREATETABLE[dbo].[Map201105](
[id][int]IDENTITY(1,1)NOTNULL,
[bianhao][int]NULL,
[zhengqibiaoshi][nvarchar](255)NULL,
[kehumingcheng][nvarchar](255)NULL,
[jiancheng][nvarchar](255)NULL,
[dengluyu][nvarchar](255)NULL,
[DVRtongdaohao][int]NULL,
[qianduangaicanshu][nvarchar](255)NULL,
[zhucedidian][nvarchar](255)NULL,
[zhushebeiID][nvarchar](255)NULL,
[jintouID][nvarchar](255)NULL,
[ADSL][nvarchar](255)NULL,
[GD163][nvarchar](255)NULL,
[GXSJ][nvarchar](255)NULL,
[BMQ][nvarchar](255)NULL,
[XSJ][nvarchar](255)NULL,
[CRMzhuangtai][nvarchar](255)NULL,
[tongduan][nvarchar](255)NULL,
[shigongfankui][nvarchar](255)NULL,
[xitonghuidanqingkuang][nvarchar](255)NULL,
[yanshou][nvarchar](255)NULL,
[beizhu][nvarchar](255)NULL,
[jingdu][float]NULL,
[weidu][float]NULL,
CONSTRAINT[PK_Map201105]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
这里注意[jingdu]和[weidu]列,表示在GoogleMap上投点坐标,由于使用手持GPS测量数据使用度分秒表示,所有俺创建另外一个表记录这些测量的数据,【Maplatlng】,
CREATETABLE[dbo].[Maplatlng](
[id][int]IDENTITY(1,1)NOTNULL,
[Map110id][int]NULL,
[Lat][int]NULL,
[Lat_du][int]NULL,
[Lat_fen][int]NULL,
[Lat_miao][float]NULL,
[Lng][int]NULL,
[Lng_du][int]NULL,
[Lng_fen][int]NULL,
[Lng_miao][float]NULL,
CONSTRAINT[PK_Maplatlng]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[Maplatlng] WITHCHECKADD CONSTRAINT[FK_Maplatlng_Map201105]FOREIGNKEY([Map110id])
REFERENCES[dbo].[Map201105]([id])
GO
ALTERTABLE[dbo].[Maplatlng]CHECKCONSTRAINT[FK_Maplatlng_Map201105]
列[Map110id]是关联表【Map201105】外键。
使用Hibernate持久化数据,变成Java对象,Map201105映射文件:
Maplatlng映射文件:
从映射文件可以看出两个映射类之间的关系是多对一关系。
使用LCDS 3.1数据管理属性,配置文件data-management-config加入两个destination
com.les.Gmap.GMapAssembler
application
com.les.Gmap.Map201105
getOnArtist
java.lang.String,java.lang.Integer
com.les.Gmap.GMaplatlngAssembler
application
com.les.Gmap.Maplatlng
getOnArtist
java.lang.String,java.lang.Integer
第一个destination提供点的信息,特别是坐标信息,第二个destination提供经纬度数据
新建一个Flex手机项目,选定Android平台,选择"卡片式应用程序",一个卡片用于呈现地图,另一个呈现数据。
呈现Map的View:
flex/spark"
xmlns:components="spark.components.*"
xmlns:services="services.*"
xmlns:supportClasses="spark.skins.mobile.supportClasses.*"
creationComplete="application1_creationCompleteHan dler(event)" title="Map">
呈现数据的View:
flex/spark" xmlns:components="spark.components.*" xmlns:services="services.*" title="主页视图">
Mapview
DataView:
Flex文件比较大,生成地图时间约10秒。