ã¯ããã«
ãGoogle Maps APIãåãä¸ãããã®ä¸å®æã·ãªã¼ãºã®ä»¥åã®åã§ã¯ãGoogle Maps APIã¨GoogleMapAPIã¨ããPHPã©ã¤ãã©ãªã使ç¨ãã¦ãå°å³ã«æ²¿ã£ãã«ã¼ãã®ããããã¨è¨ç®ãè¡ãã¾ããããã®ãããªæ©è½ã®ç¨éã¯æ°å¤ããããä¾ãã°2å°ç¹éã®ç´ç·è·é¢ã®æ¸¬å®ããåç´ãªã¸ã§ã®ã³ã°ã«ã¼ãããµã¤ã¯ãªã³ã°ã«ã¼ãã®è·é¢ãè¨ç®ããç°¡æã²ã¼ã¸ãªã©ãèãããã¾ããããã便å©ã§ã¯ãããã®ã®ãããè¤éãªã«ã¼ãã®è·é¢ãè¨ç®ãããã¨ããã¨ããã®ãããªæ©è½ã®éçãããã«æããã«ãªã£ã¦ãã¾ãã
ãä¾ãã°ããªãã¤ãªå·ã®ã³ãã³ãã¹ããã¯ãªã¼ãã©ã³ãã¾ã§ã®éçãã¦ã¼ã¶ã¼ã«æ¡å ãããããªãé常ã«é·ãã«ã¼ããå³ç¤ºããå ´åã¯ã©ãã§ããããï¼ å³1ã®ããã«æ£ç¢ºã«ã«ã¼ããå³ç¤ºããã«ã¯ããããããã®ã¢ããã¼ãã§ã¯ããªãæéããããã§ãããã

ãããããããã¨ã«Google Maps APIã®æ©è½ãå©ç¨ããã°ããã®ãããªè¤éãªã«ã¼ãã®ä½æã«ä¼´ãä½æ¥ãå¤§å¹ ã«æ¸ãããã¨ãã§ãã¾ãããã®æ©è½ã使ãã°ãåã«åºçºå°ç¹ã¨å°çå°ç¹ãã¯ãªãã¯ããæçã¨æãããã«ã¼ããAPIã«ãããããããã ãã§ãè¤éãªãã«ããã¤ã³ãã«ã¼ããä½æã§ãã¾ãããããã¨æãã¾ãããï¼ ãã®ãã¥ã¼ããªã¢ã«ã§ã¯ããã®æ©è½ãWebãµã¤ãã«å®è£ ããã«ã¼ãè·é¢ã®æ¸¬å®ããGoogle ãããã§å©ç¨ã§ãããããªã«ã¼ãæ¡å ã®è¡¨ç¤ºãè¡ãããã®æ¹æ³ã解説ãã¾ãã
ã«ã¼ãã®ãã¤ã³ãæå®
ãã¾ãããã®APIãã©ã®ããã«ãã¦å¹¹ç·éè·¯ã¨ãã®ä»ã®ããéã«æ²¿ã£ã¦ã«ã¼ããããããããããææ¡ãã¦ããå¿
è¦ãããã¾ããããã¯loadFromWaypoints()
ã¡ã½ããã«ãã£ã¦è¡ããã¾ãããã®ã¡ã½ããã¯æ大25åã®åº§æ¨ï¼ãããã¯ä½æãã¾ãã¯åº§æ¨ã¨ä½æã®æ··åï¼ãå«ãé
åãåãåãããããã®ãã¤ã³ããã¤ãªãã«ã¼ããä½ãåºãã¾ãã
ã次ã«ç¤ºãé¢æ°ã¯ãå°å³ã«ãã¼ã«ã¼ã追å ãããã®ãã¼ã«ã¼ã®åº§æ¨ãcoordinates
ã¨ããé
åï¼æ¨æºã®initialize()
é¢æ°ã§å®ç¾©ï¼ã«è¿½å ãã¾ãããã®æç¹ã§coordinates
é
åã«è¤æ°ã®åº§æ¨ã»ãããå«ã¾ãã¦ããå ´åã¯ãloadFromWaypoints()
ã¡ã½ãããå¼ã³åºããã座æ¨éã®ã«ã¼ããæç»ããã¾ãã
function plotRoute(overlay, latlng) { // Create a new marker based on the coordinates var marker = new GMarker(latlng); // Instantiate the GDirections class var directions = new GDirections(map); // Add the new marker to the map map.addOverlay(marker); // Create the new array element coordinates_array_element = latlng.lat() + "," + latlng.lng(); // Add the new array element to the map coordinates.push(coordinates_array_element); // If > one point on the map, plot the route between these two points if (coordinates.length > 1) { directions.loadFromWaypoints(coordinates); } }
ã以åã®è¨äºã§ç´¹ä»ããããã«ãã¦ã¼ã¶ã¼ãå°å³ãã¯ãªãã¯ããã¨ãã«é¢æ°ãå®è¡ããã«ã¯ã次ã®ããã«ãã¦å°å³ã«ãªã¹ãã¼ãå ãã¾ãããã®å¼ã³åºãã¯initialize()
é¢æ°ã«é
ç½®ãã¾ããinitialize()
é¢æ°ã®ç¨éãããããããªãå ´åã¯ããã®ã·ãªã¼ãºã®ä»¥åã®è¨äºãåèã«ãã¦ãã ããã
GEvent.addListener(map, "click", plotRoute);
é«ééè·¯ã®åé¿
ãã³ãã³ãã¹ï¼ã¯ãªã¼ãã©ã³ãéã«ãããããããã«ã¼ãã¯ãå¿
ç¶çã«ããªãã¤ãªå·ã®ä¸»è¦é«ééè·¯ã®1ã¤ã§ãããI-71ãã«æ²¿ã£ã¦ã¦ã¼ã¶ã¼ãæ¡å
ãã¾ããããããã³ãã³ãã¹ï¼ã¯ãªã¼ãã©ã³ãéã®ãã©ã½ã³ãµã¤ã¯ãªã³ã°ãè¨ç»ãã¦ããå ´åã¯ã©ããã¾ããï¼ ãã®å ´åã¯ãloadFromWaypoints()
ã¡ã½ããã®å¼ã³åºãã次ã®ããã«å¤æ´ããã°ãé«ééè·¯ã®ä½¿ç¨ãé¿ããããAPIã«æ示ã§ãã¾ãã
directions.loadFromWaypoints(coordinates, {"avoidHighways": true});
ãå¤æ´ããããå°å³ããªãã¼ãããå度ã³ãã³ãã¹ï¼ã¯ãªã¼ãã©ã³ãéã®ãã¤ã³ãããããããã¦ãã ãããå³2ã«ç¤ºãããã«ãã³ãã³ãã¹ããå¸å¤ã«åããã«ã¼ããI-71ãé¿ããããã«ãªãã¾ãã

ãåæ§ã«ãã¦ããã®ä»ã®ããããã£ã渡ããã¨ãã§ãã¾ããä¾ãã°å°å³ã®å ´æãå¤æ´ããããã®"locale
"ããã«ã¼ãå
¨ä½ãå°å³ãã¥ã¼ãã¼ãå
ã«è¡¨ç¤ºããããããºã¼ã ã¬ãã«ãèªå調ç¯ããããã®"preserveViewport
"ãªã©ãããã¾ããå©ç¨ã§ããããããã£ã®å®å
¨ãªãªã¹ãã«ã¤ãã¦ã¯APIããã¥ã¡ã³ããåç
§ãã ããã