我已成功在googlemap中绘制了许多数据点。
但后来我想做下面的事情:
没有。 2是高优先级,如果可能则为1,然后确定。 目前我得到了一些视频嵌入的手动解决方案。 我使用plotGoogleMaps生成该html文件的R代码如下:
require(plotGoogleMaps)
NucData <- read.csv("./locationdata.csv")
NucData$Location <- gsub(",",":", NucData$Location)
NucData$latitude <- as.numeric(levels(NucData$latitude))[as.integer(NucData$latitude)]
NucData$longitude <- as.numeric(levels(NucData$longitude))[as.integer(NucData$longitude)]
coordinates(NucData)<-~longitude+latitude # convert to SPDF
proj4string(NucData) <- CRS('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ')
myplot<-plotGoogleMaps(NucData,filename='MyMap.html', zcol='location.Name'
, draggableMarker=FALSE, colPalette=c('#FF0000', '#FFA500', '#65ed12'),
)
这很好地生成了地图,然后经过一些研究我手动更改了生成的html文件&#34; infowindow.setContent&#34;部分如下:
var infowindow = new google.maps.InfoWindow({ content: "", disableAutoPan:false, maxWidth :320, pixelOffset :null });
google.maps.event.addListener(markersNucData7557[0] ,"click",function(event){
infowindow.setContent('<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h1 id="firstHeading" class="firstHeading">Video in Info Window</h1>'+
'<div id="bodyContent">'+
'<iframe width="300" height="250" src="http://www.youtube.com/embed/uV3R4lCc9YI" frameborder="0" allowfullscreen></iframe>'+
'</div>'+
'</div>');
infowindow.setPosition(event.latLng);
infowindow.open(map,markersNucData7557[0] )});
效果很好......我可以将YouTube视频嵌入到特定标记中。 但由于我有许多数据点和相应的许多视频链接,因此不能手动更改html文件代码。有什么方法可以通过R代码实现它。我试图在plotGoogleMaps函数中使用InfoWindowControl选项,但失败了。
m<-plotGoogleMaps(NucData,filename='MyMap.html', zcol='location.Name'
, draggableMarker=FALSE, colPalette=c('#FF0000', '#FFA500', '#65ed12'),
InfoWindowControl=list(map=map, event="click",position="event.latLng",
disableAutoPan=FALSE, maxWidth=330,
content="('<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h1 id="firstHeading" class="firstHeading">Video in Info Window</h1>'+
'<div id="bodyContent">'+
'<iframe width="300" height="250" src="http://www.youtube.com/embed/uV3R4lCc9YI" frameborder="0" allowfullscreen></iframe>'+
'</div>'+
'</div>')")
是否有任何其他类型的基于R包的方法,或者如果根本不可能,那么任何简单的Java端代码都会很棒。