【发布时间】:2014-04-25 18:26:33
【问题描述】:
我正在为 android 开发一个 phonegap 应用程序,我必须在其中显示地图以在其上显示标记,当单击标记时,我想在当前标记上显示一个气球类型的小窗口,其中包含图像和一些细节。
【问题讨论】:
标签: google-maps google-maps-markers
我正在为 android 开发一个 phonegap 应用程序,我必须在其中显示地图以在其上显示标记,当单击标记时,我想在当前标记上显示一个气球类型的小窗口,其中包含图像和一些细节。
【问题讨论】:
标签: google-maps google-maps-markers
根据您的要求试用此完整代码。有在地图上创建动态标记的完整代码。
function initmap(){
function getoverlayer(imageurl,storename,distance){
var s= '<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<div id="bodyContent">'+
'<div class="map_text_container">'+
'<div class="map_user_img">'+
'<img src="'+imageurl+'">'+
'</div>'+
'<div class="map_text_div">'+
'<h3 id="firstHeading" class="">'+storename+'</h3>'+
'<h4 id="firstHeading" class="">'+distance+' miles </h4>'+
'<div class="more1">'+
'<a href="checkin.html" target="_parent" >'+
'Check in</a> '+
'</div>'+
'<div class="more">'+
'<a href="" onclick="more();" >'+
'More</a> '+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>';
return s;
}
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
//var picurl="http:\/\/sp1\/rippr.wcfservices\/ripprdata\/sellers\/388\/testseller1237899.jpg";
//var a=picurl.replace('\\','');
//alert(a);
var picurl=storedata[i].storelogo;
//alert(picurl);
var storename=storedata[i].sellername;
var lat=currentlocation.coords.latitude;
var lon=currentlocation.coords.longitude;
var distance=getDistanceFromLatLonInMile(lat, lon,storedata[i].latitude, storedata[i].longitude);
//alert(picurl,distance);
if(distance<=2){
infowindow.setContent(getoverlayer(picurl,storename,distance));
infowindow.open(map, marker);
}
else{
infowindow.setContent(getoverlayer(picurl,storename,distance));
infowindow.open(map, marker);
}
//alert('marker id'+ marker.id);
localStorage.setItem('markerid',marker.id);
}
})(marker, i));
}
}
【讨论】:
Google Maps JavaScript API v3 在 PhoneGap 应用程序中运行,该应用程序具有许多功能,但运行速度有点慢,因为该 API 是为 PC 浏览器设计的,而不是移动浏览器。
Google 提供 Google Maps Android API v2,运行速度更快,适用于移动应用。
phonegap-googlemaps-plugin 插件可以让你轻松实现谷歌地图。所以检查一下!
【讨论】: