by Bayu Yanuargi, SSi
NOTE : POSTINGAN INI SAYA ULANG KARENA ADA BEBERAPA FEEDBACK MENGENAI PETA YANG TIDAK BISA TAMPIL (Silahkan di koreksi untuk Key API Script yang ada pada Index.html script : "https://maps.googleapis.com/maps/api/js?key=GOOGLE API KEY ANDA&callback=initMap" )
Bagi hampir semua orang, resume adalah sesuatu yang sangat penting, baik itu bagi pencari kerja, project ataupun professional. Sebagai seorang yang berjiwa Peta, maka harusnya resume atau portfolio kita bisa diimplementasikan kedalam peta, terutama peta digital berbasis WEB, seperti dalam portfolio saya dalam http://bayuyanuargi.000webhostapp.com. Dalam kesempatan kali ini saya akan membahas secara mendasar bagaimana menampilkan pengalaman project kedalam bentuk spasial menggunakan Google Map API's.
Baik kita mulai dari pembuatan database untuk project kita ini menggunakan MySQL database. Sebenarnya kita bisa saja membuat KML dengan menggunakan ArcGIS tapi database tersebut bersifat statis, artinya jika akan melakukan update kita harus mengulang langkah dari awal.Dengan menggunakan MySQL maka kita bisa melakukan update, seperti penambahan data project, delete ataupun update dengan webbased setiap saat dan dimana saja.
Untuk membuat database MySQL, kita bisa melakukan secara offline di komputer kita menggunakan XAMPP, atau kita bisa menggunakan fasilitas webhosting baik yang berbayar maupun yang gratis seperti 000webhostapp.com seperti yang penulis gunakan.
Pada kesempatan ini kita akan menggunakan XAMPP untuk membuat database lokal di komputer kita, untuk itu kita perlu mendownload XAMPP silahkan download disini Jika sudah download dan install silahkan running XAMPP control panel dan start APACHE dan MYSQL seperti gambar di bawah ini
Pada kesempatan ini kita akan menggunakan XAMPP untuk membuat database lokal di komputer kita, untuk itu kita perlu mendownload XAMPP silahkan download disini Jika sudah download dan install silahkan running XAMPP control panel dan start APACHE dan MYSQL seperti gambar di bawah ini
Setelah berhasil di running dan distart, silahkan buka browser anda dan ketik http://localhost/phpmyadmin/ sehingga akan muncul seperti gambar di bawah ini
Baik, setelah itu kita bergeser sedikit ke Data kita, untuk lebih mudahnya kita list dulu project yang pernah kita kerjakan menggunakan excel, untuk latihan ini, silahkan gunakan excel saya sebagai contoh Download di SINI . Dalam excel tersebut bisa dilihat banyak informasi mengenai project kita, mulai dari nama project hingga Koordinat.
Baik, setelah itu kita bergeser sedikit ke Data kita, untuk lebih mudahnya kita list dulu project yang pernah kita kerjakan menggunakan excel, untuk latihan ini, silahkan gunakan excel saya sebagai contoh Download di SINI . Dalam excel tersebut bisa dilihat banyak informasi mengenai project kita, mulai dari nama project hingga Koordinat.
Jika anda lihat pada kolom photo, disitu saya menggunakan dropbox sebagai fasilitas penyimpanan foto. Sebenarnya kita bisa menyimpan foto dihosting 000webhostapp, tapi itu akan mengurangi jatah space kita yang sedikit karena gratisan. Anda bebas menggunakan webhosting anda atau mau menggunakan dropbox seperti saya.
Jika anda menggunakan dropbox, maka hyperlink yang akan digunakan harus sedikit di modifikasi, saat kita share tautan / link menggunakan dropbox, maka dropbox akan memberi kita link seperti ini https://www.dropbox.com/s/r54tyig422wcz84/Asterbintan.JPG?dl=0 . Link tersebut adalah link untuk mendownload bukan link untuk menampilkan, sedangkan yang kita butuhkan adalah link untuk menampilkan foto bukan mendownload foto.
Untuk itu kita perlu merubah komposisi link tersebut menjadi : https://dl.dropboxusercontent.com/s/r54tyig422wcz84/Asterbintan.JPG . Pada link tersebut kita mengganti https://www/dropbox.com dengan https://dl.dropboxusercontent.com dan menghapus ?dl=0
Kita akan membuat database baru menggunakan phpmyadmi, klik new pada menu, lalu masukkan nama database, dalam hal ini kita akan namakan "Project"
Lalu setelah database Project sudah dibuat, kemudian kita akan mengimport file excel yang sudah kita buat tadi kedalam database Project kita yang baru, silahkan ikuti langkah di bawah ini :
Lalu setelah database Project sudah dibuat, kemudian kita akan mengimport file excel yang sudah kita buat tadi kedalam database Project kita yang baru, silahkan ikuti langkah di bawah ini :
- Sebelum kita import file project list yang kita miliki, kita perlu menconvert file excel kita kedalam bentuk CSV, silahkan convert dulu
- Setelah berhasil terconvert,pilih database Project (klik)
- Klik pada IMPORT
- Klik "Pilih File" untuk memilih file yang akan di import (CSV)
- Scroll ke bawah Check "The first line contains the table column name......."
- Check "Update data when duplicate...................."
- Klik GO / KIRIM
Hasil dari import tersebut adalah sekarang kita telah mempunya database project kita dalam MySQL. Anda dapat melakukan untuk semua jenis database. Hasilnya seperti gambar di bawah ini, kita bisa melakukan add data, update dan delete data menggunakan MySQL dan realtime langsung update kedalam webgis kita
Baik setelah kita selesai melakukan pembuatan database menggunakan MySQL, kita akan melakukan pemrograman PHP menggunakan PHP editor, atau notepad++ lalu kita upload ke webhost kita. Oya sebelumnya kita harus memperoleh credential key untuk GOOGLE API's Silahkan ikuti langkah-langkahnya lalu "enabled" kan key untuk
- Klik pada menu lalu pilih API Manager
- Klik pada Library
- Klik pada Google Map JavaScript API
- Klik Enable pada bagian atas
- Lalu klik Credential untuk mendapat credential API Key
Pastikan JAVASCRIPT MAP API di aktifkan, silahkan masuk ke menu "Library" dan ikuti langkah berikut :
Setelah semua siap, selanjutnya kita akan melakukan coding untuk membuat webgis portfolio kita. Silahkan gunakan PHP atau HTML Editor untuk melakukan coding tersebut, yang paling gampang silahkan gunakan notepad++.
Untuk membuat webgis berdasarkan database yang telah kita buat minimal kita memerlukan tiga file :
- php_dbinfo.php yang digunakan sebagai pemberi akses ke dalam database mysql kita, simpan di folder ..:/xampp/htdocs/map (buat new folder "map" di dalam htdocs folder)
- dbexport.php yang akan digunakan sebagai converter database simpan di folder ..:/xampp/htdocs/map
- index.html sebagai file webgis kita untuk menampilkan petanya simpan di folder ..:/xampp/htdocs/map
php_dbinfo.php ini berisi tentang credential yang telah kita buat untuk database kita tadi, yang meliputi Username, Password, database name. Silahkan gunakan script PHP dibawah ini simpan dengan nama dbinfo.php pada notepad++
<?php
$username="root";
$password="root";
$database="project";
?>
$username="root";
$password="root";
$database="project";
?>
dbexport.php adalah file yang digunakan untuk melakukan convert data mysql menjadi XML yang kemudian akan dibaca oleh index.html sebagai titik-titik data dan ditampilkan dalam webgis kita. Secara umum dbexport ini tidak menghasilkan file tapi dia sebagai tool pembacaan oleh file HTML kita. Silahkan copy paste script di bawah ini.
<?php
require("php_dbinfo.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
// Opens a connection to a MySQL server
$connection=mysqli_connect ('localhost', $username, $password);
if (!$connection) {
die('Not connected : ' . mysqli_error());
}
// Set the active MySQL database
$db_selected = mysqli_select_db($connection , $database);
if (!$db_selected) {
die ('Can\'t use db : ' . mysqli_connect_error());
}
// Select all the rows in the markers table
$query = "SELECT * FROM table_p WHERE 1";
$result = mysqli_query($connection , $query);
if (!$result) {
die('Invalid query: ' . mysqli_connect_error());
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<table_p>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysqli_fetch_assoc($result)){
// Add to XML document node
echo '<project ';
echo 'Project="' . parseToXML($row['Project']) . '" ';
echo 'Project2="' . parseToXML($row['Project2']) . '" ';
echo 'Scope="' . $row['Scope'] . '" ';
echo 'Area="' . $row['Area'] . '" ';
echo 'Position="' . $row['Position'] . '" ';
echo 'Company="' . $row['Company'] . '" ';
echo 'Years="' . $row['Years'] . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo 'Photo="' . $row['Photo'] . '" ';
echo '/>';
}
// End XML file
echo '</table_p>';
?>
require("php_dbinfo.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
// Opens a connection to a MySQL server
$connection=mysqli_connect ('localhost', $username, $password);
if (!$connection) {
die('Not connected : ' . mysqli_error());
}
// Set the active MySQL database
$db_selected = mysqli_select_db($connection , $database);
if (!$db_selected) {
die ('Can\'t use db : ' . mysqli_connect_error());
}
// Select all the rows in the markers table
$query = "SELECT * FROM table_p WHERE 1";
$result = mysqli_query($connection , $query);
if (!$result) {
die('Invalid query: ' . mysqli_connect_error());
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<table_p>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysqli_fetch_assoc($result)){
// Add to XML document node
echo '<project ';
echo 'Project="' . parseToXML($row['Project']) . '" ';
echo 'Project2="' . parseToXML($row['Project2']) . '" ';
echo 'Scope="' . $row['Scope'] . '" ';
echo 'Area="' . $row['Area'] . '" ';
echo 'Position="' . $row['Position'] . '" ';
echo 'Company="' . $row['Company'] . '" ';
echo 'Years="' . $row['Years'] . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo 'Photo="' . $row['Photo'] . '" ';
echo '/>';
}
// End XML file
echo '</table_p>';
?>
Mari kita bahas mengenai script di atas sedikit saja, kita mulai dari baris kedua kita bisa lihat script : require("php_dbinfo.php") artinya untuk menjalankan applikasi ini dia akan melihat mengakses file "php_dbinfo.php" yang dalam hal ini akan digunakan sebagai pintu masuk kedalam database MySQL kita. Jika anda menggunakan nama lain selain "php_dbinfo.php" maka silahkan ganti namanya sesuai dengan file name yang anda gunakan.
Sekarang pada baris 26 dan seterusnya kita harus menentukan nama table yang akan kita gunakan dalam operasi ini, dalam contoh saya menggunakan nama "table_p", nama table ini dapat anda temukan pada mysql anda seperti pada gambar di bawah ini.
Silahkan ubah nama table sesuai dengan table yang anda miliki pada baris ke 26 dan seterusnya.
Setelah converter dibuat, sekarang waktunya kita membuat webgis dengan nama index.html. Sebenarnya namanya tidak harus index.html apalagi jika webgis ini bukanlah main page dari website kita. Index.html adalah file yang akan dibuka pertama kali jika kita mengetikkan alamat website, contohnya jika kita membuka http://bayuyanuargi.000webhostapp.com maka kita sebenarnya sedang membuka file index.html yang ada. Jadi itu default.
Jadi jika halaman utama dari website kita bukanlah webgis yang sedang kita buat, maka kita bebas menggunakan nama yang lain, misalnya map.html, peta.html dsb, dan kita buatkan link di halaman utama website kita untuk membuka file tersebut.
Baik tidak usah basa-basi, kita langsung saja membuat webgis kita yang dalam hal ini kita namakan index.html .
<!DOCTYPE html >
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Professional Portfolio Bayu Yanuargi</title>
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var customLabel = {
Province: {
label: 'P'
},
Regency: {
label: 'R'
},
National: {
label: 'N'
},
District: {
label: 'D'
}
};
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(-1.3327011, 114.5706969),
zoom: 5
});
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP or XML file
downloadUrl('dbexport.php', function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName('project');
Array.prototype.forEach.call(markers, function(markerElem) {
var Project = markerElem.getAttribute('Project');
var Project2 = markerElem.getAttribute('Project2');
var Scope = markerElem.getAttribute('Scope');
var Area = markerElem.getAttribute('Area');
var Position = markerElem.getAttribute('Position');
var Company = markerElem.getAttribute('Company');
var Years = markerElem.getAttribute('Years');
var marker_image = markerElem.getAttribute('Photo');
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('lat')),
parseFloat(markerElem.getAttribute('lng')));
var infowincontent = document.createElement('div');
var x = document.createElement('IMG');
x.src = marker_image
x.setAttribute('width', '300');
x.setAttribute('width', '200');
document.body.appendChild(x);
infowincontent.appendChild(x);
infowincontent.appendChild(document.createElement('br'));
var strong = document.createElement('strong');
strong.textContent = Project
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var strong = document.createElement('strong');
strong.textContent = Project2
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Area
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Position
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Company
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var icon = customLabel[Scope] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
});
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=GOOGLE API KEY&callback=initMap">
</script>
</body>
</html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Professional Portfolio Bayu Yanuargi</title>
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var customLabel = {
Province: {
label: 'P'
},
Regency: {
label: 'R'
},
National: {
label: 'N'
},
District: {
label: 'D'
}
};
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(-1.3327011, 114.5706969),
zoom: 5
});
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP or XML file
downloadUrl('dbexport.php', function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName('project');
Array.prototype.forEach.call(markers, function(markerElem) {
var Project = markerElem.getAttribute('Project');
var Project2 = markerElem.getAttribute('Project2');
var Scope = markerElem.getAttribute('Scope');
var Area = markerElem.getAttribute('Area');
var Position = markerElem.getAttribute('Position');
var Company = markerElem.getAttribute('Company');
var Years = markerElem.getAttribute('Years');
var marker_image = markerElem.getAttribute('Photo');
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('lat')),
parseFloat(markerElem.getAttribute('lng')));
var infowincontent = document.createElement('div');
var x = document.createElement('IMG');
x.src = marker_image
x.setAttribute('width', '300');
x.setAttribute('width', '200');
document.body.appendChild(x);
infowincontent.appendChild(x);
infowincontent.appendChild(document.createElement('br'));
var strong = document.createElement('strong');
strong.textContent = Project
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var strong = document.createElement('strong');
strong.textContent = Project2
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Area
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Position
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = Company
infowincontent.appendChild(text);
infowincontent.appendChild(document.createElement('br'));
var icon = customLabel[Scope] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
});
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=GOOGLE API KEY&callback=initMap">
</script>
</body>
</html>
Silahkan copy paste script di atas, jika sudah mari kita bahas beberapa hal penting dalam script tersebut.
Yang pertama pada baris 25 - 38 anda akan melihat script yang dibuka dengan "var customLabel = { " dimana script ini akan membuat label pada peta kita berdasarkan kategori yang ada dalam kolom scope. Anda bisa mengganti label sesuai keinginan anda dengan mengganti nama labelnya sesuai dengan attribute yang ada dalam kolom yang anda inginkan.
Kebetulan attribute dalam kolom scope terdiri dari "Province, Regency, National, dan District" . Untuk menentukan nama kolom silahkan dilihat pada baris 101 dengan script "var icon = customLabel[Scope] || {};" [Scope] adalah judul / nama kolom, jika anda ingin mengganti label yang ditampilkan, silahkan ganti nama kolom yang diinginkan.
Kita lanjutkan pada baris 42 - 43 yang berisi script sebagai berikut ini "center: new google.maps.LatLng(-1.3327011, 114.5706969), zoom: 5 ". Script tersebut adalah untuk menentukan koordinat center dari peta yang akan dibuka termasuk juga leve zooming nya, semakin kecil angka zoom nya semakin tinggi sudut viewnya.
Pada baris ke 48 "downloadUrl('dbexport.php', function(data) { " adalah script untuk membuka file dbexport.php yang sudah kita buat sebelumnya.
Pastikan penamaan variablenya harus diperhatikan konektifitas antara index.html dan dbexport.php
Kemudian pada baris ke 52 - 59 adalah informasi nama table yang akan kita gunakan untuk menampilkan marker dan info window. Info window adalah informasi yang ditampilkan saat kita melakukan klik pada marker yang ada seperti gambar di bawah ini.
Untuk baris ke 60 - 62 adalah lokasi dari marker atau titik-titik data kita berdasarkan kolom latitude dan longitude yang ada dalam database kita.
Selanjutnya pada baris ke 64 - 98 adalah informasi apa saja yang ingin ditampilkan saat info window tampil.
Yang terpenting adalah pada baris ke 138, "src="https://maps.googleapis.com/maps/api/js?key=GOOGLE API KEY=initMap">" silahkan masukkan google api key yang sudah kita buat udah kita buat. Hapus kata GOOGLE API KEY dan masukkan key anda.
Silahkan simpan semua file kedalam folder ..:\xampp\htdocs\map
Dan selesai, silahkan coba, jika ada kesulitan silahkan comment di bawah ini. atau email saya di bayu.yanuargi@outlook.com.
Contoh hasilnya akan seperti ini.
Terima Kasih, jika berkenan mohon di share ke rekan2x lainnya
Yang pertama pada baris 25 - 38 anda akan melihat script yang dibuka dengan "var customLabel = { " dimana script ini akan membuat label pada peta kita berdasarkan kategori yang ada dalam kolom scope. Anda bisa mengganti label sesuai keinginan anda dengan mengganti nama labelnya sesuai dengan attribute yang ada dalam kolom yang anda inginkan.
Kebetulan attribute dalam kolom scope terdiri dari "Province, Regency, National, dan District" . Untuk menentukan nama kolom silahkan dilihat pada baris 101 dengan script "var icon = customLabel[Scope] || {};" [Scope] adalah judul / nama kolom, jika anda ingin mengganti label yang ditampilkan, silahkan ganti nama kolom yang diinginkan.
Kita lanjutkan pada baris 42 - 43 yang berisi script sebagai berikut ini "center: new google.maps.LatLng(-1.3327011, 114.5706969), zoom: 5 ". Script tersebut adalah untuk menentukan koordinat center dari peta yang akan dibuka termasuk juga leve zooming nya, semakin kecil angka zoom nya semakin tinggi sudut viewnya.
Pada baris ke 48 "downloadUrl('dbexport.php', function(data) { " adalah script untuk membuka file dbexport.php yang sudah kita buat sebelumnya.
Pastikan penamaan variablenya harus diperhatikan konektifitas antara index.html dan dbexport.php
Kemudian pada baris ke 52 - 59 adalah informasi nama table yang akan kita gunakan untuk menampilkan marker dan info window. Info window adalah informasi yang ditampilkan saat kita melakukan klik pada marker yang ada seperti gambar di bawah ini.
Untuk baris ke 60 - 62 adalah lokasi dari marker atau titik-titik data kita berdasarkan kolom latitude dan longitude yang ada dalam database kita.
Selanjutnya pada baris ke 64 - 98 adalah informasi apa saja yang ingin ditampilkan saat info window tampil.
Yang terpenting adalah pada baris ke 138, "src="https://maps.googleapis.com/maps/api/js?key=GOOGLE API KEY=initMap">" silahkan masukkan google api key yang sudah kita buat udah kita buat. Hapus kata GOOGLE API KEY dan masukkan key anda.
Silahkan simpan semua file kedalam folder ..:\xampp\htdocs\map
Dan selesai, silahkan coba, jika ada kesulitan silahkan comment di bawah ini. atau email saya di bayu.yanuargi@outlook.com.
Contoh hasilnya akan seperti ini.
Terima Kasih, jika berkenan mohon di share ke rekan2x lainnya
assalamualaikum... bagus mas artikelnya ane mau coba praktikin, mohon bimbingan nya gan.
ReplyDeleteTrims, atas masukkannya, sudah saya revisi versi terbaru, ada update untuk penampilan GOOGLE API KEY nya, mohon maaf baru sempet balas
Deletemas kok nda ada tampil?
ReplyDeleteTrims, atas masukkannya, sudah saya revisi versi terbaru, ada update untuk penampilan GOOGLE API KEY nya, mohon maaf baru sempet balas
Deletesemuanya telah di kerjakan tapi kenapa tidak muncul ya
ReplyDeleteTrims, atas masukkannya, sudah saya revisi versi terbaru, ada update untuk penampilan GOOGLE API KEY nya, mohon maaf baru sempet balas
DeleteMas Bayu ... Saya sudah copy paste script tsb diatas, API Key juga sudah diinput termasuk tabel_p xampp juga sudah. Setelah dipanggil localhost/map/index.html Hasilnya hanya tampil peta google, point tabel tidak muncul. Mohon pencerahannya. Terimakasih
DeleteHalo mas triono, Bisa tolong di cek lagi untuk :
Deletea. Connection database nya, apakah User name dan password sudah oke? defaultnya memang username "root" password ""
b. Pastikan juga nama DB dan tablenya sesuai dengan script
c. Jika connection oke, silahkan menuju ke judul kolom, jika melihat pada database yang mas triono punyai, kolom Longitude nya adalah "Long".
d. Silahkan ganti semua "Lng" di file PHP dan index.html menjadi "Long" :
cari di Index.html :
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('Lat')),
parseFloat(markerElem.getAttribute('Long')));
cari di dbexport file :
echo 'Lat="' . $row['Lat'] . '" ';
echo 'Long="' . $row['Long'] . '" ';
mas ngambil data yang di dropbox itu gimana ya ?
Deletebang ini baru namanya tutorial jelas , makasih bang
ReplyDeleteDatabase tidak bisa saya import ke phpmyadmin tapi sudah saya buatkan manual mengikuti dengan yang di excel... tapi setelah saya tampilkan hanya ada peta nya saja, tdak ada titik koordinat atau pun keterangan lokasi dan foto.
ReplyDeleteMohon petunjuk nya..
Tks gan...
bisa minta Script HTML dan PHP nya? sekalian Database yang digunakan bisa di screenshot saja
DeleteMaaf Mas Bayu. Kasus saya seperti punyanya Mas Faiz. Apa solusinya ya ?
DeleteSaya juga sama, cuma muncul petannya saja hmm
DeleteSaya sudah tambahin tipsnya didalam postingan di atas, terutama nama variable di dbexport.php dan index.html harus sama. silahkan cek lagi
Deletesiang mas saya mau tanya,waktu import data csv ke phpMyadmin di database project kok muncul begini ya
ReplyDeleteError
SQL query:
CREATE TABLE IF NOT EXISTS `project`.`TABLE 1` (`no;TPS;Kondisi;Tipe;No.Truk;User;Jam;Lat;Long;Photo` varchar(75), `NULL` varchar(9), `NULL` varchar(81)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Mohon pencerahannya mas
Mohon maaf baru sempet buka blog, bisa dicoba convert ulang dari excel ke CSV dengan type "CSV (Comma delimited)(*.csv)"
DeleteBiasanya rekan-rekan salah memilih type data "CSV UTF-8" itu yang menyebabkan error. Lalu saat import jangan lupa centang "Row paling atas adalah nama kolom"
Maaf mas nimbrung, justru malah pesan error itu muncul saat pakai file convert ke "CSV (Comma delimited)(*.csv)". Apa set karakter berkasnya diganti bukan utf-8 ya mas? trus diganti apa dong?
DeleteJika melihat pada screen shot kesalahan SQL nya, bisa jadi karena belum merubah tanda "Kolom dipisahkan oleh" saat melakukan import. default PhpMyadmin adalah menggunakan Koma untuk pemisahan judul kolom, untuk itu rubah tanda koma menjadi tanda semicolon (;). Silahkan di coba
Deletesiang mas saya mau tanya,waktu import data csv ke phpMyadmin di database project kok muncul begini ya
ReplyDeleteError
SQL query:
CREATE TABLE IF NOT EXISTS `project`.`TABLE 1` (`no;TPS;Kondisi;Tipe;No.Truk;User;Jam;Lat;Long;Photo` varchar(75), `NULL` varchar(9), `NULL` varchar(81)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Mohon pencerahannya mas
mas kenapa setelah saya import csv ke database project gagal dan muncul begini ya
ReplyDeleteError
SQL query:
CREATE TABLE IF NOT EXISTS `project`.`TABLE 1` (`no;TPS;Kondisi;Tipe;No.Truk;User;Jam;Lat;Long;Photo` varchar(75), `NULL` varchar(9), `NULL` varchar(81)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mohon pencerahannya mas
Jika melihat pada screen shot kesalahan SQL nya, bisa jadi karena belum merubah tanda "Kolom dipisahkan oleh" saat melakukan import. default PhpMyadmin adalah menggunakan Koma untuk pemisahan judul kolom, untuk itu rubah tanda koma menjadi tanda semicolon (;). Silahkan di coba
DeleteKok ngga bisa ya punya saya
ReplyDeleteAda warning kaya gini
Oops! Something went wrong. This page didn't load Google Maps correctly
Mohon bantuannya...
Bisa di cek lagi untuk Google API Key dan Google API Library nya. jika google Key sudah benar, maka bisa jadi kesalahannya adalah API JAVASCRIPT belum enabled (Masih disabled)... Jika masih bingung bisa kontak via email
Deleteerror seperti ini kak:
ReplyDeleteUncaught TypeError: Cannot read property 'documentElement' of null
dan tidak mau tampil titiknya
bisa jadi masalah pada data MySQL nya, bisa di convert slang dari excelnya ke CSV (Comma Delimitted), sering kali orang Salah milieu type CSV nya saat export dari excel ke CSV
DeleteMaaf mas , kok marker nya gabisa muncul padahal database nya sudah saya samakan dengan yang di excel?? gimana cara mengatasinya??trims
ReplyDeleteHi Mas Rizani,
Deleteada dua hal yang harus anda cek :
a. Lihat script pada dbexport.php cari script di bawah ini :
$row['lat'] dan $row['long']
Silahkan rubah lat --> Lat dan long --> Long
hal itu dikarenakan judul kolom pada database menggunakan
tittle case bukan lower case
b. Silahkan cek php_dbinfo.php, kosongkan password
$password="";
selamat mencoba
Hi Mas Rizani,
ReplyDeleteada dua hal yang harus anda cek :
a. Lihat script pada dbexport.php cari script di bawah ini :
$row['lat'] dan $row['long']
Silahkan rubah lat --> Lat dan long --> Long
hal itu dikarenakan judul kolom pada database menggunakan
tittle case bukan lower case
b. Silahkan cek php_dbinfo.php, kosongkan password
$password="";
selamat mencoba
mapsnya tidak mau muncul kenapa gan?
ReplyDeletecoba di cek lagi, malo peta teak muncul biasanya dikarenakan ada penulisan di akhir baris setiap script yang kurang, bisa jadi tanda koma, titik koma, kurung buka tutup, dsb
Deletekalo offline caranya gimana mas dengan localhost? maaf new bie
ReplyDeleteKalo localhost bisa gak masalah, yang masalah Adalah peta google nya Harus online, hehehehe
Deletesaya sudah jalankan semua panduannya.
ReplyDeletedan sudah bisa tampil.
tapi sekarang g muncul lagi. kenapa ya ?
maaf mas, sudah saya coba tapi kenapa maih muncul pesan
ReplyDeleteOops! Something went wrong.
This page didn't load Google Maps correctly. See the JavaScript console for technical details.
javascript sudah enabled. mohon bantuannya mas. trims.
mas bayu, setelah saya utak atik ternyata sudah bisa. terimakasih mas atas ilmunya.
ReplyDeletesaya sudah copy paste persis seperti script bapak, kenapa markernya tdk muncul ya pak?
ReplyDeletesaya sudah tambahin tips nya, silahkan baca ulang postingan di atas, terutama pada ketentuan variable di dbexport.php dan index.html, trims
Delete