Tôi có
một loạt các địa chỉ sử dụngLấy lat, lng cơ sở trên địa chỉ
array:5 [▼
0 => array:2 [▼
"name" => " Admin"
"address" => "111 Park AveFloor 4 New York, NY"
]
1 => array:2 [▼
"name" => "User A"
"address" => "12 Main Street Cambridge, MA"
]
2 => array:2 [▼
"name" => "Apple HQ"
"address" => "1 Infinite Loop Cupertino, California"
]
3 => array:2 [▼
"name" => "Google MA"
"address" => "355 Main St Cambridge, MA"
]
4 => array:2 [▼
"name" => "site HQ"
"address" => "300 Concord Road Billerica, MA "
]
]
Mục tiêu của tôi
là để lấy lat
, và lng
của mỗi địa chỉ, và xây dựng một cái gì đó như thế này
[
["Admin", 18.3114513, -66.9219513, 0],
["User A", 25.3253982, 44.5503772, 1],
["Apple HQ", 33.0241101, 39.5865834, 2],
["Google MA", 43.9315743, 20.2366877, 3],
["site HQ", 32.683063, 35.27481, 4]
]
để tôi có thể vẽ chúng trong Google Map.
tôi đã cố gắng:
thực hiện một curl để
https://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&key=***
$data = shell_exec('curl '.$url);
tôi đã
này trở lại như một phản ứng, sau khi giải mã nó
$data = json_decode($data);
{#278 ▼
+"results": array:1 [▼
0 => {#298 ▼
+"address_components": array:2 [▶]
+"formatted_address": "PR-111, Puerto Rico"
+"geometry": {#300 ▼
+"bounds": {#301 ▶}
+"location": {#304 ▼
+"lat": 18.3114513
+"lng": -66.9219513
}
+"location_type": "GEOMETRIC_CENTER"
+"viewport": {#305 ▶}
}
+"place_id": "ChIJrdMXucS4AowRF4jHu2ji58U"
+"types": array:1 [▶]
}
]
+"status": "OK"
}
Như bạn thấy, bây giờ tôi có thể truy cập vào lat, lng bằng cách truy cập
$location = $data->results[0]->geometry->location;
Bạn có thể nói, nếu bạn có thể truy cập vào nó - tại sao bạn vẫn hỏi câu hỏi này?
Vâng, rằng lat, lng dữ liệu mà tôi nhận được từ phản hồi API tạo sai Google Map Marker.
Tôi không chắc chắn tại sao/sai như thế nào, nhưng tôi là chắc chắn rằng tất cả địa chỉ người dùng của tôi đều ở Hoa Kỳ và đây là Kết quả của Google Map Marker của tôi. Không ai trong số họ hiển thị bên trong Hoa Kỳ.
Google Map Kết quả
Tôi đang chạy ra khỏi ý tưởng bây giờ.
Bất kỳ gợi ý/trợ giúp/đề xuất nào sẽ có ý nghĩa đối với tôi.
Cập nhật
Nhờ vậy answer
tôi có thể nhận được các lat, lng và mưu đánh dấu đúng trên Google Map của tôi bây giờ.
bạn đang tìm kiếm địa chỉ hơi chung chung. điều gì sẽ xảy ra nếu bạn gắn thẻ "USA" vào cuối chúng? –
Gọi điện tốt, hãy để tôi thử. – ihue
Bất kể vấn đề thực tế, * điều này * là một câu hỏi có cấu trúc thực sự tốt (+1). – Jan