googlemap.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var mapWidth = 512;
  2. var mapHeight = 320;
  3. var mapType;
  4. var center_lat = 0;
  5. var center_lng = 0;
  6. var marker_lat = 0;
  7. var marker_lng = 0;
  8. var setZoom = 3;
  9. var map,marker;
  10. function initMap(zoom)
  11. {
  12. var mapOptions={zoom: 3,streetViewControl: false,scaleControl: true,mapTypeId: google.maps.MapTypeId.ROADMAP};
  13. map = new google.maps.Map($('#mapArea')[0], mapOptions);
  14. google.maps.event.addListener(map, 'maptypeid_changed', function(event) {
  15. mapType=map.getMapTypeId();
  16. });
  17. google.maps.event.addListener(map, 'tilesloaded', function(event) {
  18. center_lat = map.getCenter().lat();
  19. center_lng = map.getCenter().lng();
  20. setZoom = map.getZoom();
  21. });
  22. google.maps.event.addListener(map, 'center_changed', function(event) {
  23. center_lat = map.getCenter().lat();
  24. center_lng = map.getCenter().lng();
  25. setZoom = map.getZoom();
  26. });
  27. marker = new google.maps.Marker({map:map,draggable:true});
  28. google.maps.event.addListener(marker, 'dragend', function(event) {
  29. marker_lat = marker.getPosition().lat();
  30. marker_lng = marker.getPosition().lng();
  31. });
  32. searchMap();
  33. }
  34. function searchMap(zoom){
  35. var address = $('#address').val();
  36. var geocoder = new google.maps.Geocoder();
  37. geocoder.geocode( { 'address': address}, function(results, status) {
  38. if (status == google.maps.GeocoderStatus.OK) {
  39. var tlatlng=results[0].geometry.location;
  40. if(zoom)map.setZoom(zoom);
  41. map.setCenter(tlatlng);
  42. marker.setPosition(tlatlng);
  43. marker.setTitle(address);
  44. }
  45. else alert(address + " 地址错误,未找到当前地址");
  46. });
  47. }
  48. function pasteMap()
  49. {
  50. if (marker_lat == 0) marker_lat = center_lat;
  51. if (marker_lng == 0) marker_lng = center_lng;
  52. callback("http://maps.google.com/maps/api/staticmap?center=" + center_lat + ',' + center_lng + "&zoom=" + setZoom + "&size=" + mapWidth + 'x' + mapHeight + "&maptype=" + mapType + "&markers=" + marker_lat + ',' + marker_lng + "&sensor=false");
  53. }
  54. function pageInit()
  55. {
  56. $('#address').keypress(function(ev){if(ev.which==13)searchMap(10);});
  57. $('#mapsearch').click(function(){searchMap(10);});
  58. $('#addMap').click(pasteMap);
  59. }
  60. $(pageInit);