var jQuery161_1409760134 = jQuery.noConflict(true); (function($) { $(function(){ var map, bounds, infowindow, centermarker; var points = new Array(); initialize(); function createUrl() { bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); var args = 'id=29720&minX='+southWest.lng()+'&maxX='+northEast.lng()+'&minY='+southWest.lat()+'&maxY='+northEast.lat(); var url = '/images/usergmap/data.php?'+args; return url; } function checkRange(pointX, pointY) { bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); if(southWest.lng() < pointX && pointX < northEast.lng() && southWest.lat() < pointY && pointY < northEast.lat()){ return true; } return false; } function createMarker(markerPoint) { var index = eval(markerPoint.type); var point= new google.maps.LatLng(markerPoint.lat, markerPoint.lng); var image=new google.maps.MarkerImage( icons[index].image, new google.maps.Size(icons[index].iconSizeX, icons[index].iconSizeY), new google.maps.Point(0, 0), new google.maps.Point(icons[index].iconAnchorX, icons[index].iconAnchorY) ); var shadow=new google.maps.MarkerImage( icons[index].shadow, new google.maps.Size(icons[index].shadowSizeX, icons[index].shadowSizeY), new google.maps.Point(0, 0), new google.maps.Point(icons[index].iconAnchorX, icons[index].iconAnchorY) ); var marker=new google.maps.Marker({ position: point, map: map, icon: image, shadow: shadow }); var html = '
'; html += markerPoint.text; html += '
'; google.maps.event.addListener(marker, 'click', function() { if(infowindow) infowindow.close(); infowindow=new google.maps.InfoWindow({ content: html }); infowindow.open(map,marker); }); return marker; } function createMarkerPoint(markerData) { this.id = parseFloat(markerData.eq(0).attr("id")); this.lng = parseFloat(markerData.eq(0).attr("lng")); this.lat = parseFloat(markerData.eq(0).attr("lat")); this.title = markerData.eq(0).attr("title"); this.type = markerData.eq(0).attr("icon_type"); this.text = markerData.eq(0).attr("text"); this.status = markerData.eq(0).attr("status"); this.marker = null; } function createCenterMarker() { if(!centermarker){ var point= map.getCenter(); var image=new google.maps.MarkerImage( "//www.p-kit.com/usergmap/images/marker_center.png", new google.maps.Size(23,23), new google.maps.Point(0, 0), new google.maps.Point(12,12) ); var shadow=new google.maps.MarkerImage( "http://www.p-kit.com/usergmap/images/marker_center_shadow.png", new google.maps.Size(29,29), new google.maps.Point(0, 0), new google.maps.Point(12,12) ); centermarker=new google.maps.Marker({ position: point, map: map, icon: image, shadow: shadow }); }else{ var point= map.getCenter(); centermarker.setPosition(point); } } function httpRequest() { createCenterMarker(); var tmppoints = new Array(); var xmlurl = createUrl(); $.ajax({ type:"get", cache:false, url: xmlurl, success:function(xml){ // 枠外のマーカー削除 while(points.length){ var mPoint = points.pop(); if(checkRange(mPoint.lng, mPoint.lat)){ tmppoints.push(mPoint); }else{ mPoint.marker.setVisible(false); delete mPoint.marker; delete mPoint; } } points = tmppoints; $(xml).find("marker").each(function(){ setflag = false; var markerPoint = new createMarkerPoint($(this)); for (var j = 0; j < points.length; j++) { if(points[j].lng == markerPoint.lng && points[j].lat == markerPoint.lat){ setflag = true; delete markerPoint; } } if(setflag == false){ markerPoint.marker = createMarker(markerPoint); points.push(markerPoint); } }); }, error:function(XMLHttpRequest, textStatus, errorThrown){ //alert(textStatus); } }); } function initialize() { var latlng = new google.maps.LatLng(36.299556117729125,139.9761199951172); var myOptions = { zoom: 13, center: latlng, panControl: true, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL }, mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR }, streetViewControl: true, overviewMapControl: true, overviewMapControlOptions:{ opened: true }, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map_canvas_1409760134"), myOptions); geocoder = new google.maps.Geocoder(); google.maps.event.addListener(map, 'idle', httpRequest); } }); })(jQuery161_1409760134);