2016-08-20 6 views
-1

私は以下のコードを使用しています。ユーザーがログインしてアドバイスを入力すると、その場所をマップに表示したいと考えています。Googleマップで変数を使用

<?php 
// Get lat and long by address 
$dlocation = '2286 Wellman Place,Oak Harbor,WA'; 
$address = $dlocation; // Google HQ 
$prepAddr = str_replace(' ','+',$address); 
$geocode=file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false'); 
$output= json_decode($geocode); 
$latitude = $output->results[0]->geometry->location->lat; 
$longitude = $output->results[0]->geometry->location->lng; 
echo $latitude; 
?> 

<html> 
<head> 
    <style type="text/css"> 
     div#map { 
      position: relative; 
     } 

     div#crosshair { 
      position: absolute; 
      top: 192px; 
      height: 19px; 
      width: 19px; 
      left: 50%; 
      margin-left: -8px; 
      display: block; 
      /* background: url(crosshair.gif); */ 
      background-position: center center; 
      background-repeat: no-repeat; 
     } 
    </style> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
     var map; 
     var geocoder; 
     var centerChangedLast; 
     var reverseGeocodedLast; 
     var currentReverseGeocodeResponse; 

     function initialize() { 
      var latlng = new google.maps.LatLng(48.258545,-122.7399284); 
      var myOptions = { 
       zoom: 16, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
      geocoder = new google.maps.Geocoder(); 

      var marker = new google.maps.Marker({ 
       position: latlng, 
       map: map, 
       title: "Hello World!" 
      }); 

     } 

    </script> 
</head> 
<body onload="initialize()"> 
<div id="map" style="width:700px; height:800px"> 
    <div id="map_canvas" style="width:100%; height:800px"></div> 
    <div id="crosshair"></div> 
</div> 


</body> 
</html> 

私は変数$緯度と48.258545、-122.7399284を置き換えるために、マップ経度$がロードされませんしてみてください。 変更する必要があるため、動作するようにしてください。

答えて

0

あなたは結果に

 function initialize() { 
     var latlng = new google.maps.LatLng(<?= $latitude . ',' . $longitude ?>); 
     var myOptions = { 
      zoom: 16, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

エコーやJavaScriptにPHPのVaRの値を割り当てる必要がありますJavaScriptでPHPのVARSを使用したい場合は

<script type="text/javascript"> 
    var map; 
    var geocoder; 
    var centerChangedLast; 
    var my_latitude = <?= $latitude ?>; 
    var my_longitude = <?= $longitude ?>; 
    ....... 

     ..... 
     function initialize() { 
     var latlng = new google.maps.LatLng(my_latitude , my_longitude); 
     var myOptions = { 
      zoom: 16, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
+0

をvarsのは素晴らしい仕事をそのありがとうございます。 mylatitudeをmy_latitudeに変更しなければならなかった – gary1946

関連する問題