【发布时间】:2012-02-04 20:39:37
【问题描述】:
它在 Titanium SDK 上的第二天。
我想在地图上显示多个注释。我已经在 SO 上提到了答案,但找不到解决方法!
我尝试了以下代码:-
// To create map
var mapview = Titanium.Map.createView({
mapType: Titanium.Map.STANDARD_TYPE,
region:{latitude:33.74511, longitude:-84.38993, latitudeDelta:0.5, longitudeDelta:0.5},
animate:true,
regionFit:true,
userLocation:true,
annotations:[createAnnotations()],
top:110,
height:200
});
// CREATE ANNOTATIONS
function createAnnotations ()
{
var annoatationData = [];
for (var i=0; i < 10; i++)
{
var mountainView = Titanium.Map.createAnnotation(
{
latitude:37.390749,
longitude:-122.081651,
title:"Appcelerator Headquarters",
subtitle:'Mountain View, CA',
pincolor: isAndroid ? "orange" : Titanium.Map.ANNOTATION_RED,
animate:true,
myid:i // CUSTOM ATTRIBUTE THAT IS PASSED INTO EVENT OBJECTS
});
annoatationData.push(mountainView);
};
return annoatationData ;
}
但是我收到了这个错误
[错误] 传递给函数的类型无效。预期:NSDictionary,是: __NSArrayM in -[TiMapView annotationFromArg:] (TiMapView.m:96)
有什么建议吗?
谢谢...
【问题讨论】:
-
需要注意的一点:如果您对注释使用自定义视图,则必须为每个注释创建该视图的实例。我犯了将相同视图传递给每个注释的错误,这使得只有最后一个注释可见。
标签: titanium appcelerator