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]);