0
我正在使用钛和Google Maps v2 for android模块。我有一个表格视图,当点击时,根据行打开一个新的窗口,我正在传递一些基于rowData的属性。这工作正常,现在我的问题是,用户可以选择单击地图视图按钮并查看地图上的引脚列表,而不是我的表格视图。我需要让用户点击任何给定的注释(比如用户可以点击一行)并打开一个窗口,根据点击的具体注释向其传递属性。我不知道如何解决这个问题。我在地图上有一个事件监听器,正在检查源代码,但我不知道如何访问打开新窗口所需的注释属性。我的代码是低于我的窗口,它包含了一组从先前的页面传递给它的注释,其中一个Web服务拉下信息,并在每次循环添加注释的地图视图:如何打开基于点击注释的属性窗口
var MapModule = require('ti.map');
var Map = MapModule.createView({
userLocation: true,
mapType: MapModule.NORMAL_TYPE,
animate: true,
region:{latitude: 53.422606, longitude: -7.944465, latitudeDelta: 4, longitudeDelta: 4},
top: '50dp',
left:'10dp',
right:'10dp',
bottom:'10dp',
borderRadius:6,
annotations:self.MapAnnotations,
zIndex:200
});
Map.addEventListener('click', function(e){
Ti.API.info("e.type ----------------- " + e.type);
Ti.API.info("stringified e.clicked source ---------------- " + JSON.stringify(e.clicksource));
var check = JSON.stringify(e.clicksource);
if (JSON.stringify(e.clicksource) == '"title"'){
console.log("Can i get the parent ------- " + e.parent);
console.log("In the if statment for title---------------");
console.log("e.jobID --------- " + e.jobID);
var w = Titanium.UI.createWindow({
url:'ui/handheld/SearchJobsDetailed.js',
backgroundColor: "#204581",
JobID:e.jobID,
Title:e.title,
Trade:e.trade,
Urgency:e.urgency,
Description: e.description,
Photo: e.photo,
JobStatus: e.jobStatus,
ClientID: e.clientID,
DatePosted: e.datePosted,
Email:e.Email,
Mobile:e.Mobile,
navBarHidden:true,
APP_URL:e.APP_URL
});
w.open();
}
});
这是我的代码从页面之前的地图,即与实现代码如下页面中的片段:
Map_view.addEventListener("click", function (e){
var Map_window=Ti.UI.createWindow({
url:"ui/handheld/MapWindow.js",
backgroundColor: "transparent",
navBarHidden:true,
APP_URL:APP_URL,
modal:false,
MapAnnotations:MapAnnotations
});
SearchJobs_Tab.open(Map_window, {animated:true});
});
和部分地方,我推注释数组:
for(i=0;i<data.length;i++){
Annotations[i]= MapModule.createAnnotation({
latitude: data[i].Latitude,
longitude: data[i].Longitude,
title: capitaliseFirstLetter(data[i].title),
jobID:data[i].jobID,
title:data[i].title,
trade:data[i].trade,
urgency:data[i].urgency,
description: data[i].description,
datePosted: data[i].datePosted,
photo: data[i].photo,
jobStatus: data[i].jobStatus,
clientID: data[i].clientID,
Email: data[i].Email,
Mobile: data[i].Mobile,
APP_URL:APP_URL
});
MapAnnotations.push(Annotations[i]);