この記事の中段で動作しているストリートビューのマップコネクトの<script>のソース
var map_stv; var iconOffset = new google.maps.Point(34, 34); var iconPosition = new google.maps.Point(0, 0); var iconSize = new google.maps.Size(34, 34); var iconShadowSize = new google.maps.Size(37, 34); var panUrl = "http://waox.main.jp/maps/gif/bread.png"; var panShadowUrl = "http://waox.main.jp/maps/gif/bread.shadow.png"; var panIcon = new google.maps.MarkerImage(panUrl, iconSize, iconPosition, iconOffset); var panShadow = new google.maps.MarkerImage(panShadowUrl, iconShadowSize, iconPosition, iconOffset); var kouenUrl = "http://maps.google.co.jp/mapfiles/ms/icons/tree.png"; var kouenShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/tree.shadow.png"; var kouenIcon = new google.maps.MarkerImage(kouenUrl, iconSize, iconPosition, iconOffset); var kouenShadow = new google.maps.MarkerImage(kouenShadowUrl, iconShadowSize, iconPosition, iconOffset); var oyoguUrl = "http://maps.google.co.jp/mapfiles/ms/icons/swimming.png"; var oyoguShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/swimming.shadow.png"; var oyoguIcon = new google.maps.MarkerImage(oyoguUrl, iconSize, iconPosition, iconOffset); var oyoguShadow = new google.maps.MarkerImage(oyoguShadowUrl, iconShadowSize, iconPosition, iconOffset); var onsenUrl = "http://maps.google.co.jp/mapfiles/ms/icons/hotsprings.png"; var onsenShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/hotsprings.shadow.png"; var onsenIcon = new google.maps.MarkerImage(onsenUrl, iconSize, iconPosition, iconOffset); var onsenShadow = new google.maps.MarkerImage(onsenShadowUrl, iconShadowSize, iconPosition, iconOffset); var temaparkUrl = "http://maps.google.co.jp/mapfiles/ms/icons/motorcycling.png"; var temaparkShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/cycling.shadow.png"; var temaparkIcon = new google.maps.MarkerImage(temaparkUrl, iconSize, iconPosition, iconOffset); var temaparkShadow = new google.maps.MarkerImage(temaparkShadowUrl, iconShadowSize, iconPosition, iconOffset); var beachUrl = "http://maps.google.co.jp/mapfiles/ms/icons/water.png"; var beachShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/water.shadow.png"; var beachIcon = new google.maps.MarkerImage(beachUrl, iconSize, iconPosition, iconOffset); var beachShadow = new google.maps.MarkerImage(beachShadowUrl, iconShadowSize, iconPosition, iconOffset); var momijiUrl = "http://waox.main.jp/maps/gif/momiji.png"; var momijiShadowUrl = "http://waox.main.jp/maps/gif/momiji.shadow.png"; var momijiIcon = new google.maps.MarkerImage(momijiUrl, iconSize, iconPosition, iconOffset); var momijiShadow = new google.maps.MarkerImage(momijiShadowUrl, iconShadowSize, iconPosition, iconOffset); var kidslandUrl = "http://maps.google.co.jp/mapfiles/ms/icons/sportvenue.png"; var kidslandShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/sportvenue.shadow.png"; var kidslandIcon = new google.maps.MarkerImage(kidslandUrl, iconSize, iconPosition, iconOffset); var kidslandShadow = new google.maps.MarkerImage(kidslandShadowUrl, iconShadowSize, iconPosition, iconOffset); var suizokukanUrl = "http://maps.google.co.jp/mapfiles/ms/icons/fishing.png"; var suizokukanShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/fishing.shadow.png"; var suizokukanIcon = new google.maps.MarkerImage(suizokukanUrl, iconSize, iconPosition, iconOffset); var suizokukanShadow = new google.maps.MarkerImage(suizokukanShadowUrl, iconShadowSize, iconPosition, iconOffset); var doubutsuUrl = "http://maps.google.co.jp/mapfiles/ms/icons/horsebackriding.png"; var doubutsuShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/horsebackriding.shadow.png"; var doubutsuIcon = new google.maps.MarkerImage(doubutsuUrl, iconSize, iconPosition, iconOffset); var doubutsuShadow = new google.maps.MarkerImage(doubutsuShadowUrl, iconShadowSize, iconPosition, iconOffset); var outdoorUrl = "http://maps.google.com/mapfiles/kml/pal2/icon4.png"; var outdoorShadowUrl = "http://maps.google.com/mapfiles/kml/pal2/icon4s.png"; var outdoorIcon = new google.maps.MarkerImage(outdoorUrl, iconSize, iconPosition, iconOffset); var outdoorShadow = new google.maps.MarkerImage(outdoorShadowUrl, iconShadowSize, iconPosition, iconOffset); var maturiUrl = "http://waox.main.jp/maps/gif/maturi.png"; var maturiShadowUrl = "http://waox.main.jp/maps/gif/maturi.shadow.png"; var maturiIcon = new google.maps.MarkerImage(maturiUrl, iconSize, iconPosition, iconOffset); var maturiShadow = new google.maps.MarkerImage(maturiShadowUrl, iconShadowSize, iconPosition, iconOffset); var sakuraUrl = "http://waox.main.jp/maps/gif/sakura.png"; var sakuraShadowUrl = "http://waox.main.jp/maps/gif/sakura.shadow.png"; var sakuraIcon = new google.maps.MarkerImage(sakuraUrl, iconSize, iconPosition, iconOffset); var sakuraShadow = new google.maps.MarkerImage(sakuraShadowUrl, iconShadowSize, iconPosition, iconOffset); var kaisuiUrl = "http://maps.google.co.jp/mapfiles/ms/icons/waterfalls.png"; var kaisuiShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/waterfalls.shadow.png"; var kaisuiIcon = new google.maps.MarkerImage(kaisuiUrl, iconSize, iconPosition, iconOffset); var kaisuiShadow = new google.maps.MarkerImage(kaisuiShadowUrl, iconShadowSize, iconPosition, iconOffset); var mikakuUrl = "http://waox.main.jp/maps/gif/ichigo.png"; var mikakuShadowUrl = "http://waox.main.jp/maps/gif/ichigo.shadow.png"; var mikakuIcon = new google.maps.MarkerImage(mikakuUrl, iconSize, iconPosition, iconOffset); var mikakuShadow = new google.maps.MarkerImage(mikakuShadowUrl, iconShadowSize, iconPosition, iconOffset); var fuyuUrl = "http://maps.google.co.jp/mapfiles/ms/icons/snowflake_simple.png"; var fuyuShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/snowflake_simple.shadow.png"; var fuyuIcon = new google.maps.MarkerImage(fuyuUrl, iconSize, iconPosition, iconOffset); var fuyuShadow = new google.maps.MarkerImage(fuyuShadowUrl, iconShadowSize, iconPosition, iconOffset); var bangaUrl = "http://maps.google.co.jp/mapfiles/ms/icons/rangerstation.png"; var bangaShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/rangerstation.shadow.png"; var bangaIcon = new google.maps.MarkerImage(bangaUrl, iconSize, iconPosition, iconOffset); var bangaShadow = new google.maps.MarkerImage(bangaShadowUrl, iconShadowSize, iconPosition, iconOffset); var bbqUrl = "http://maps.google.co.jp/mapfiles/ms/icons/firedept.png"; var bbqShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/firedept.shadow.png"; var bbqIcon = new google.maps.MarkerImage(bbqUrl, iconSize, iconPosition, iconOffset); var bbqShadow = new google.maps.MarkerImage(bbqShadowUrl, iconShadowSize, iconPosition, iconOffset); var eventUrl = "http://maps.google.com/mapfiles/ms/micons/volcano.png"; var eventShadowUrl = "http://maps.google.com/mapfiles/ms/micons/volcano.shadow.png"; var eventIcon = new google.maps.MarkerImage(eventUrl, iconSize, iconPosition, iconOffset); var eventShadow = new google.maps.MarkerImage(eventShadowUrl, iconShadowSize, iconPosition, iconOffset); var hakubutsukanUrl = "http://maps.google.co.jp/mapfiles/ms/icons/info.png"; var hakubutsukanShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/info.shadow.png"; var hakubutsukanIcon = new google.maps.MarkerImage(hakubutsukanUrl, iconSize, iconPosition, iconOffset); var hakubutsukanShadow = new google.maps.MarkerImage(hakubutsukanShadowUrl, iconShadowSize, iconPosition, iconOffset); var campingUrl = "http://maps.google.co.jp/mapfiles/ms/icons/campground.png"; var campingShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/campground.shadow.png"; var campingIcon = new google.maps.MarkerImage(campingUrl, iconSize, iconPosition, iconOffset); var campingShadow = new google.maps.MarkerImage(campingShadowUrl, iconShadowSize, iconPosition, iconOffset); var drivespotUrl = "http://maps.google.co.jp/mapfiles/ms/icons/cabs.png"; var drivespotShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/cabs.shadow.png"; var drivespotIcon = new google.maps.MarkerImage(drivespotUrl, iconSize, iconPosition, iconOffset); var drivespotShadow = new google.maps.MarkerImage(drivespotShadowUrl, iconShadowSize, iconPosition, iconOffset); var kankoUrl = "http://maps.google.com/mapfiles/ms/micons/camera.png"; var kankoShadowUrl = "http://maps.google.com/mapfiles/ms/micons/camera.shadow.png"; var kankoIcon = new google.maps.MarkerImage(kankoUrl, iconSize, iconPosition, iconOffset); var kankoShadow = new google.maps.MarkerImage(kankoShadowUrl, iconShadowSize, iconPosition, iconOffset); var restaurantUrl = "http://maps.google.co.jp/mapfiles/ms/icons/restaurant.png"; var restaurantShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/restaurant.shadow.png"; var restaurantIcon = new google.maps.MarkerImage(restaurantUrl, iconSize, iconPosition, iconOffset); var restaurantShadow = new google.maps.MarkerImage(restaurantShadowUrl, iconShadowSize, iconPosition, iconOffset); var sweetUrl = "http://waox.main.jp/maps/gif/cake.png"; var sweetShadowUrl = "http://waox.main.jp/maps/gif/cake.shadow.png"; var sweetIcon = new google.maps.MarkerImage(sweetUrl, iconSize, iconPosition, iconOffset); var sweetShadow = new google.maps.MarkerImage(sweetShadowUrl, iconShadowSize, iconPosition, iconOffset); var hotelUrl = "http://maps.google.co.jp/mapfiles/ms/icons/homegardenbusiness.png"; var hotelShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/homegardenbusiness.shadow.png"; var hotelIcon = new google.maps.MarkerImage(hotelUrl, iconSize, iconPosition, iconOffset); var hotelShadow = new google.maps.MarkerImage(hotelShadowUrl, iconShadowSize, iconPosition, iconOffset); var shopUrl = "http://maps.google.co.jp/mapfiles/ms/icons/convienancestore.png"; var shopShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/convienancestore.shadow.png"; var shopIcon = new google.maps.MarkerImage(shopUrl, iconSize, iconPosition, iconOffset); var shopShadow = new google.maps.MarkerImage(shopShadowUrl, iconShadowSize, iconPosition, iconOffset); var outletUrl = "http://maps.google.co.jp/mapfiles/ms/icons/shopping.png"; var outletShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/shopping.shadow.png"; var outletIcon = new google.maps.MarkerImage(outletUrl, iconSize, iconPosition, iconOffset); var outletShadow = new google.maps.MarkerImage(outletShadowUrl, iconShadowSize, iconPosition, iconOffset); var moviesUrl = "http://maps.google.com/mapfiles/ms/micons/movies.png"; var moviesShadowUrl = "http://maps.google.com/mapfiles/ms/micons/movies.shadow.png"; var moviesIcon = new google.maps.MarkerImage(moviesUrl, iconSize, iconPosition, iconOffset); var moviesShadow = new google.maps.MarkerImage(moviesShadowUrl, iconShadowSize, iconPosition, iconOffset); var dogUrl = "http://waox.main.jp/maps/gif/dog.png"; var dogShadowUrl = "http://waox.main.jp/maps/gif/dog.shadow.png"; var dogIcon = new google.maps.MarkerImage(dogUrl, iconSize, iconPosition, iconOffset); var dogShadow = new google.maps.MarkerImage(dogShadowUrl, iconShadowSize, iconPosition, iconOffset); var kadenUrl = "http://maps.google.com/mapfiles/ms/micons/electronics.png"; var kadenShadowUrl = "http://maps.google.com/mapfiles/ms/micons/electronics.shadow.png"; var kadenIcon = new google.maps.MarkerImage(kadenUrl, iconSize, iconPosition, iconOffset); var kadenShadow = new google.maps.MarkerImage(kadenShadowUrl, iconShadowSize, iconPosition, iconOffset); var cameraUrl = "http://maps.google.com/mapfiles/ms/micons/webcam.png"; var cameraShadowUrl = "http://maps.google.com/mapfiles/ms/micons/webcam.shadow.png"; var cameraIcon = new google.maps.MarkerImage(cameraUrl, iconSize, iconPosition, iconOffset); var cameraShadow = new google.maps.MarkerImage(cameraShadowUrl, iconShadowSize, iconPosition, iconOffset); var skiUrl = "http://maps.google.com/mapfiles/ms/micons/ski.png"; var skiShadowUrl = "http://maps.google.com/mapfiles/ms/micons/ski.shadow.png"; var skiIcon = new google.maps.MarkerImage(skiUrl, iconSize, iconPosition, iconOffset); var skiShadow = new google.maps.MarkerImage(skiShadowUrl, iconShadowSize, iconPosition, iconOffset); var railUrl = "http://maps.google.com/mapfiles/ms/micons/rail.png"; var railShadowUrl = "http://maps.google.com/mapfiles/ms/micons/rail.shadow.png"; var railIcon = new google.maps.MarkerImage(railUrl, iconSize, iconPosition, iconOffset); var railShadow = new google.maps.MarkerImage(railShadowUrl, iconShadowSize, iconPosition, iconOffset); var parkingUrl = "http://maps.google.co.jp/mapfiles/ms/icons/parkinglot.png"; var parkingShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/parkinglot.shadow.png"; var parkingIcon = new google.maps.MarkerImage(parkingUrl, iconSize, iconPosition, iconOffset); var parkingShadow = new google.maps.MarkerImage(parkingShadowUrl, iconShadowSize, iconPosition, iconOffset); var dateUrl = "http://waox.main.jp/maps/gif/heart.png"; var dateShadowUrl = "http://waox.main.jp/maps/gif/heart.shadow.png"; var dateIcon = new google.maps.MarkerImage(dateUrl, iconSize, iconPosition, iconOffset); var dateShadow = new google.maps.MarkerImage(dateShadowUrl, iconShadowSize, iconPosition, iconOffset); var airportUrl = "http://maps.google.com/mapfiles/ms/micons/plane.png"; var airportShadowUrl = "http://maps.google.com/mapfiles/ms/micons/plane.shadow.png"; var airportIcon = new google.maps.MarkerImage(airportUrl, iconSize, iconPosition, iconOffset); var airportShadow = new google.maps.MarkerImage(airportShadowUrl, iconShadowSize, iconPosition, iconOffset); var airplaneUrl = "http://maps.google.co.jp/mapfiles/ms/icons/helicopter.png"; var airplaneShadowUrl = "http://maps.google.co.jp/mapfiles/ms/icons/helicopter.shadow.png"; var airplaneIcon = new google.maps.MarkerImage(airplaneUrl, iconSize, iconPosition, iconOffset); var airplaneShadow = new google.maps.MarkerImage(airplaneShadowUrl, iconShadowSize, iconPosition, iconOffset); var dolphinUrl = "http://waox.main.jp/kaigai/icon/dolphin.png"; var dolphinShadowUrl = "http://waox.main.jp/kaigai/icon/dolphin.shadow.png"; var dolphinIcon = new google.maps.MarkerImage(dolphinUrl, iconSize, iconPosition, iconOffset); var dolphinShadow = new google.maps.MarkerImage(dolphinShadowUrl, iconShadowSize, iconPosition, iconOffset); var whaleUrl = "http://waox.main.jp/kaigai/icon/whale.png"; var whaleShadowUrl = "http://waox.main.jp/kaigai/icon/dolphin.shadow.png"; var whaleIcon = new google.maps.MarkerImage(whaleUrl, iconSize, iconPosition, iconOffset); var whaleShadow = new google.maps.MarkerImage(whaleShadowUrl, iconShadowSize, iconPosition, iconOffset); var artUrl = "http://waox.main.jp/kaigai/icon/art.image.png"; var artShadowUrl = "http://waox.main.jp/kaigai/icon/art.shadow.png"; var artIcon = new google.maps.MarkerImage(artUrl, iconSize, iconPosition, iconOffset); var artShadow = new google.maps.MarkerImage(artShadowUrl, iconShadowSize, iconPosition, iconOffset); var keshikiUrl = "http://maps.google.com/mapfiles/kml/pal4/icon46.png"; var keshikiShadowUrl = "http://maps.google.com/mapfiles/kml/pal4/icon46s.png"; var keshikiIcon = new google.maps.MarkerImage(keshikiUrl, iconSize, iconPosition, iconOffset); var keshikiShadow = new google.maps.MarkerImage(keshikiShadowUrl, iconShadowSize, iconPosition, iconOffset); var scubaUrl = "http://waox.main.jp/kaigai/icon/scuba.png"; var scubaShadowUrl = "http://waox.main.jp/kaigai/icon/scuba.shadow.png"; var scubaIcon = new google.maps.MarkerImage(scubaUrl, iconSize, iconPosition, iconOffset); var scubaShadow = new google.maps.MarkerImage(scubaShadowUrl, iconShadowSize, iconPosition, iconOffset); var snorkelingUrl = "http://waox.main.jp/kaigai/icon/nemo2.png"; var snorkelingShadowUrl = "http://waox.main.jp/kaigai/icon/nemo.shadow.png"; var snorkelingIcon = new google.maps.MarkerImage(snorkelingUrl, iconSize, iconPosition, iconOffset); var snorkelingShadow = new google.maps.MarkerImage(snorkelingShadowUrl, iconShadowSize, iconPosition, iconOffset); var santaUrl = "http://waox.main.jp/maps/gif/santa.png"; var santaShadowUrl = "http://waox.main.jp/maps/gif/santa.shadow.png"; var santaIcon = new google.maps.MarkerImage(santaUrl, iconSize, iconPosition, iconOffset); var santaShadow = new google.maps.MarkerImage(santaShadowUrl, iconShadowSize, iconPosition, iconOffset); var scustomIcons = { pan: { icon:panIcon, shadow:panShadow }, kouen: { icon:kouenIcon, shadow:kouenShadow }, oyogu: { icon:oyoguIcon, shadow:oyoguShadow }, temapark: { icon:temaparkIcon, shadow:temaparkShadow }, kidsland: { icon:kidslandIcon, shadow:kidslandShadow }, beach: { icon:beachIcon, shadow:beachShadow }, suizokukan: { icon:suizokukanIcon, shadow:suizokukanShadow }, onsen: { icon:onsenIcon, shadow:onsenShadow }, doubutsu: { icon:doubutsuIcon, shadow:doubutsuShadow }, outdoor: { icon:outdoorIcon, shadow:outdoorShadow }, maturi: { icon:maturiIcon, shadow:maturiShadow }, sakura: { icon:sakuraIcon, shadow:sakuraShadow }, momiji: { icon:momijiIcon, shadow:momijiShadow }, kaisui: { icon:kaisuiIcon, shadow:kaisuiShadow }, mikaku: { icon:mikakuIcon, shadow:mikakuShadow }, fuyu: { icon:fuyuIcon, shadow:fuyuShadow }, banga: { icon:bangaIcon, shadow:bangaShadow }, bbq: { icon:bbqIcon, shadow:bbqShadow }, event: { icon:eventIcon, shadow:eventShadow }, hakubutsukan: { icon:hakubutsukanIcon, shadow:hakubutsukanShadow }, camping: { icon:campingIcon, shadow:campingShadow }, drivespot: { icon:drivespotIcon, shadow:drivespotShadow }, kanko: { icon:kankoIcon, shadow:kankoShadow }, restaurant: { icon:restaurantIcon, shadow:restaurantShadow }, sweet: { icon:sweetIcon, shadow:sweetShadow }, hotel: { icon:hotelIcon, shadow:hotelShadow }, shop: { icon:shopIcon, shadow:shopShadow }, outlet: { icon:outletIcon, shadow:outletShadow }, movies: { icon:moviesIcon, shadow:moviesShadow }, dog: { icon:dogIcon, shadow:dogShadow }, kaden: { icon:kadenIcon, shadow:kadenShadow }, camera: { icon:cameraIcon, shadow:cameraShadow }, ski: { icon:skiIcon, shadow:skiShadow }, rail: { icon:railIcon, shadow:railShadow }, date: { icon:dateIcon, shadow:dateShadow }, santa: { icon:santaIcon, shadow:santaShadow }, airport: { icon:airportIcon, shadow:airportShadow }, airplane: { icon:airplaneIcon, shadow:airplaneShadow }, dolphin: { icon:dolphinIcon, shadow:dolphinShadow }, whale: { icon:whaleIcon, shadow:whaleShadow }, art: { icon:artIcon, shadow:artShadow }, keshiki: { icon:keshikiIcon, shadow:keshikiShadow }, scuba: { icon:scubaIcon, shadow:scubaShadow }, snorkeling: { icon:snorkelingIcon, shadow:snorkelingShadow }, parking: { icon:parkingIcon, shadow:parkingShadow } }; google.load('search','1'); function sHomeControl(controlDiv, map_stv) { controlDiv.style.padding = '5px'; var controlUI = document.createElement('DIV'); controlUI.style.backgroundColor = 'white'; controlUI.style.borderStyle = 'solid'; controlUI.style.borderWidth = '2px'; controlUI.style.cursor = 'pointer'; controlUI.style.textAlign = 'center'; controlUI.title = 'Click to set the map to Home'; controlDiv.appendChild(controlUI); var controlText = document.createElement('DIV'); controlText.style.fontFamily = 'Arial,sans-serif'; controlText.style.fontSize = '13px'; controlText.style.paddingLeft = '4px'; controlText.style.paddingRight = '4px'; controlText.innerHTML = '<b>Where is street view icon?</b>'; controlUI.appendChild(controlText); google.maps.event.addDomListener(controlUI, 'click', function() { map_stv.setCenter(positionCell); //map_stv.setZoom(12); //map_stv.setMapTypeId('satellite'); }); } var StreetViewOptions = { getTileUrl: function(coord, zoom) { var X = coord.x % (1 << zoom); return "http://cbk0.google.com/cbk?output=overlay&" + "zoom=" + zoom + "&x=" + X + "&y=" + coord.y + "&cb_client=api"; }, tileSize: new google.maps.Size(256, 256), isPng: true }; var StreetViewType = new google.maps.ImageMapType(StreetViewOptions); function sinitialize() { var myOptions = { navigationControl: true, navigationControlOptions: { style: google.maps.NavigationControlStyle.DEFAULT, position: google.maps.ControlPosition.LEFT_TOP }, mapTypeControl: true, mapTypeControlOptions: { //style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, //style: google.maps.MapTypeControlStyle.DEFAULT, style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.TOP_RIGHT }, scaleControl: true, scaleControlOptions: { position: google.maps.ControlPosition.TOP_CENTER }, zoom: szoom, center: scenter, mapTypeId: smapTypeId }; sgbarOptions= { // we're going with the defaults }; map_stv = new google.maps.Map(document.getElementById("map_street"), myOptions); map_stv.overlayMapTypes.insertAt(0, StreetViewType); var gbar=new window.jeremy.jGoogleBar(map_stv,sgbarOptions) map_stv.controls[google.maps.ControlPosition.BOTTOM_LEFT].push(gbar.container); var homeControlDiv = document.createElement('DIV'); var homeControl = new sHomeControl(homeControlDiv, map_stv); homeControlDiv.index = 1; map_stv.controls[google.maps.ControlPosition.RIGHT_TOP].push(homeControlDiv); google.maps.event.addListener(map_stv, 'dragstart', function() { hidepostcard_stv() ; hideinfocard_stv(); //return false; }); google.maps.event.addListener(map_stv, 'idle', function() { scenter = map_stv.getCenter(); ssearchLocationsNear(); if (document.getElementById("spano").checked == true) { sloadPhotos(); } }); var panoramaOptions = { position:povCenter, pov: { heading: povHeading, pitch:povPitch, zoom:povZoom } }; var panorama = new google.maps.StreetViewPanorama(document.getElementById("panowide"),panoramaOptions); map_stv.setStreetView(panorama); //◆ペグマン位置変更イベント google.maps.event.addListener(panorama, 'position_changed', function() { positionCell = panorama.getPosition(); map_stv.panTo(positionCell);//◆ペグマンの座標へ移動 }); } var smarkers = []; var spanoramios = []; function ssearchLocationsNear() { var szoom = map_stv.getZoom(); if (szoom >= 1 && szoom <= 8) {var view = '0';} else if(szoom ==9){var view = '85';} else if(szoom ==10){var view = '43';} else if(szoom ==11){var view = '25';} else if(szoom ==12){var view = '16';} else if(szoom ==13){var view = '8';} else if(szoom ==14){var view = '4';} else if(szoom ==15){var view = '2';} else if(szoom ==16){var view = '1';} else if(szoom ==17){var view = '0.7';} else if(szoom ==18){var view = '0.5';} else if(szoom ==19){var view = '0.3';} else if(szoom ==20){var view = '0.1';} else {var view = '0';} var radius = view; var url = 'http://waox.main.jp/world/php/world.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius; downloadUrl(url, function(data) { var xml = parseXml(data); var smarkerNodes = xml.documentElement.getElementsByTagName("marker"); var new_smarkers = []; for (var i = 0; i < smarkerNodes.length; i++) { var sname = smarkerNodes[i].getAttribute("name"); scategory = smarkerNodes[i].getAttribute("category"); var distance = parseFloat(smarkerNodes[i].getAttribute("distance")); var latlng = new google.maps.LatLng( parseFloat(smarkerNodes[i].getAttribute("lat")), parseFloat(smarkerNodes[i].getAttribute("lng"))); var explanation = smarkerNodes[i].getAttribute("explanation"); var linkurl = smarkerNodes[i].getAttribute("linkurl"); var icon = scustomIcons[scategory] || {}; var html = '<b>'+sname+'</b><br>'+"(中心から" + distance.toFixed(1) + "km)" ; if (latlng in smarkers) { new_smarkers[latlng] = smarkers[latlng]; } else { var smarker = new google.maps.Marker( { map: map_stv, position: latlng, icon: icon.icon, shadow: icon.shadow, title: sname }); sbindInfoWindow(smarker, map_stv, sname, html,linkurl,explanation,latlng) new_smarkers[latlng] = smarker; } } for (var latlng in smarkers) { if (!(latlng in new_smarkers)) { smarkers[latlng].setMap(null); delete smarkers[latlng]; } } smarkers = new_smarkers; }); } function downloadUrl(url, callback) { var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function(data) { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request.responseText, request.status); } }; request.open('GET', url, true); request.send(null); } function parseXml(str) { if (window.ActiveXObject) { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); return doc; } else if (window.DOMParser) { return (new DOMParser).parseFromString(str, 'text/xml'); } } function doNothing() {} function sbindInfoWindow(smarker, map_stv, sname, html,linkurl,explanation,latlng,distance) { google.maps.event.addListener(smarker, 'click', function() { function toggleBounce () { if (smarker.getAnimation() != null) { smarker.setAnimation(null); } else { smarker.setAnimation(google.maps.Animation.BOUNCE); } } toggleBounce(); showinfocard_stv(sname,linkurl,explanation,map_stv,smarker,html,distance); setTimeout(toggleBounce, 3000); map_stv.panTo(latlng); hidepostcard_stv(); }); } function showinfocard_stv(sname,linkurl,explanation,map_stv,smarker,html,total) { document.getElementById("sname").innerHTML = sname; document.getElementById("slinkurl").innerHTML = linkurl; document.getElementById("sexplanation").innerHTML = explanation; //document.getElementById("shtml").innerHTML = html; //document.getElementById("stotal").innerHTML = "(" + total.toFixed(1) + "km)"; document.getElementById('infocard_stv').style.display = 'block'; } function hideinfocard_stv() { document.getElementById('infocard_stv').style.display = 'none'; } function sloadPhotos() { var url = 'http://www.panoramio.com/map/get_panoramas.php?order=popularity&set=public&from=0&to=20&size=mini_square&callback=saddPhotos'; var bounds = map_stv.getBounds(); url += '&minx=' + bounds.getSouthWest().lng().toFixed(6) + '&miny=' + bounds.getSouthWest().lat().toFixed(6); url += '&maxx=' + bounds.getNorthEast().lng().toFixed(6) + '&maxy=' + bounds.getNorthEast().lat().toFixed(6); url += '&ts=' + new Date().getTime(); // prevent caching var script = document.createElement("script"); script.setAttribute("src", url); script.setAttribute("type", "text/javascript"); document.body.appendChild(script); } function saddPhotos(data) { var new_spanoramios = []; if (data.photos && data.photos.length) { for (var i = 0; i < data.photos.length; i++) { var sphoto = data.photos[i]; if (sphoto.photo_id in spanoramios) { new_spanoramios[sphoto.photo_id] = spanoramios[sphoto.photo_id]; } else { // create new smarker var photo_latlng = new google.maps.LatLng(sphoto.latitude, sphoto.longitude), panoramio = new google.maps.Marker({ position: photo_latlng, icon: sphoto.photo_file_url, map: map_stv }); saddClickHandler(panoramio, sphoto,photo_latlng); new_spanoramios[sphoto.photo_id] = panoramio; } } } for (var photo_id in spanoramios) { if (!(photo_id in new_spanoramios)) { spanoramios[photo_id].setMap(null); delete spanoramios[photo_id]; } } spanoramios = new_spanoramios; } function saddClickHandler(panoramio, sphoto,photo_latlng) { google.maps.event.addListener(panoramio, 'click', function() { showpostcard_stv(sphoto); hideinfocard_stv(); map_stv.panTo(photo_latlng); }); } function showpostcard_stv(sphoto) { document.getElementById('postcard_stv').style.display = 'block'; document.getElementById('sphoto_title').innerHTML = sphoto.photo_title; document.getElementById('sphoto_url').href = sphoto.photo_url; document.getElementById('sphoto_file_url').src = 'http://mw2.google.com/mw-panoramio/photos/small/' + sphoto.photo_id + '.jpg'; } function hidepostcard_stv() { document.getElementById('postcard_stv').style.display = 'none'; } google.setOnLoadCallback(sinitialize);
関連記事一覧
スポンサードリンク
1 Comments.